os模块、sys模块和shutil模块

1>os模块

'''
os模块,提供很多程序与系统交互的功能
'''
import os

os.getcwd()  # 获取当前执行程序的路径
os.listdir(os.getcwd())  # 列出指定目录下所有的文件和目录名
os.path.isfile('D:\pyscripts\web_program\homework\employee.ini') # 判断是否文件
os.path.isdir('D:\pyscripts\web_program\homework\压缩包')   # 判断是否目录
os.path.isabs('D:\pyscripts\web_program\homework')  # 判断是否绝对路径
os.path.exists('D:\pyscripts\web_program\homework\eaaa.tex')   # 判断目录或者文件是否真实存在
os.path.split('D:\pyscripts\web_program\homework\employee.ini')  # 切割文件和路径
os.path.splitext('D:\pyscripts\web_program\homework\employee.ini')   # 切割后缀名与路径\文件
os.path.abspath(os.getcwd()) # 获取指定文件/目录的绝对路径
os.path.dirname(os.getcwd()) # 获取指定文件/目录路径的路径(也就上往上一层)
os.path.basename(os.getcwd())    # 获取指定文件/目录的当前存放位置的目录名称
os.path.join(os.getcwd(), 'huangaaa.txt')    # 拼接目录与文件
os.getenv('Path')    # 获取操作系统环境变量(参数为变量名)的值
os.linesep   # 返回当前平台使用的行终止符
os.name  # 当前的系统平台
os.stat('D:\pyscripts\web_program\homework\employee.ini')    # 获取文件的属性详情
os.path.getsize('D:\pyscripts\web_program\homework\employee.ini')    # 获取文件大小
os.environ   # 返回操作系统的所有环境变量信息(名称:值)
os.get_terminal_size()   # 获取当前终端大小
os.rename('employee1.ini', 'employee.ini')  # 改名称(windows目的名称已存在会报错,linux下若有相应权限则直接覆盖)
os.remove('文件路径')   # 删除一个文件
os.removedirs() # 删除多个目录
os.system('ping 192.168.1.1') # 执行操作系统的命令
os.environ.setdefault('HOME', '/aaa/aaa')   # 临时设置环境变量,仅程序运行有效
os.mkdir()  # 创建目录
os.makedirs()   # 创建多级目录
os.chdir('dirname')  # 改变工作目录到dirname
os.kill()   # 杀死进程,两个参数,进程id和信号
os模块、sys模块和shutil模块_第1张图片

getcwd()命令的坑(获取当前执行程序的当前路径,注意,这里并不是指该脚本的存放路径,而是你执行这个脚本你所在的位置),如下:

os模块、sys模块和shutil模块_第2张图片

os模块、sys模块和shutil模块_第3张图片

os模块、sys模块和shutil模块_第4张图片



2>sys模块

import sys
sys.argv # 命令行参数list,第一个元素是程序本身路径
sys.exit()    # 正常退出为0,异常退出为1,也可以指定其他整数
sys.version  # python解释器的版本信息
sys.path # 返回模块的搜索路径,初始化时为python path环境变量的值
sys.platform # 返回操作系统的名称
sys.getrecursionlimit()  # 获取最大递归层数
sys.setrecursionlimit(1001) # 设置最大递归层数
sys.getdefaultencoding() # 获取解释器默认编码
sys.getfilesystemencoding()  # 获取内存数据存到文件里的默认编码
os模块、sys模块和shutil模块_第5张图片

命令行执行脚本时传参

os模块、sys模块和shutil模块_第6张图片


3>shutil模块:高级的文件操作模块,对文件,文件夹,压缩包等处理

shutil.copyfileobj()    # 拷贝文件到另一个文件,可以指定大小
shutil.copyfile()   # 拷贝文件(目标文件无需存在)
shutil.copymode()   # 拷贝文件权限(目标文件必须存在,且目标文件的内容,属组,属主等信息均不会变)
shutil.copystat()   # 拷贝文件状态
shutil.copy()   # 拷贝文件和权限
shutil.copy2()  # 拷贝文件和状态
shutil.copytree()   # 多层拷贝\递归拷贝
shutil.rmtree() # 多层删除\递归删除
shutil.move()   # 移动文件,类似mv,重命名,支持递归移动
shutil.make_archive()   # 创建压缩包并返回文件路径

1>拷贝文件

os模块、sys模块和shutil模块_第7张图片

2>只拷贝权限和只拷贝状态(文件内容,等不拷贝)

os模块、sys模块和shutil模块_第8张图片

3>copy和copy2,都是拷贝文件,目标文件无需存在,copy带权限信息,copy2带状态信息

os模块、sys模块和shutil模块_第9张图片

4>递归拷贝

os模块、sys模块和shutil模块_第10张图片

 4.2 忽略某些拷贝项的递归拷贝

os模块、sys模块和shutil模块_第11张图片

5>递归删除

os模块、sys模块和shutil模块_第12张图片

6>递归移动

os模块、sys模块和shutil模块_第13张图片

7>压缩,打包,解压

 7.1 压缩

os模块、sys模块和shutil模块_第14张图片

7.2 打包

os模块、sys模块和shutil模块_第15张图片

7.3 解压

os模块、sys模块和shutil模块_第16张图片

7.4 其他

os模块、sys模块和shutil模块_第17张图片






你可能感兴趣的:(python学习)