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和信号
getcwd()命令的坑(获取当前执行程序的当前路径,注意,这里并不是指该脚本的存放路径,而是你执行这个脚本你所在的位置),如下:
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() # 获取内存数据存到文件里的默认编码
命令行执行脚本时传参
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>拷贝文件
2>只拷贝权限和只拷贝状态(文件内容,等不拷贝)
3>copy和copy2,都是拷贝文件,目标文件无需存在,copy带权限信息,copy2带状态信息
4>递归拷贝
4.2 忽略某些拷贝项的递归拷贝
5>递归删除
6>递归移动
7>压缩,打包,解压
7.1 压缩
7.2 打包
7.3 解压
7.4 其他