OS 模块
以下搬自https://www.cnblogs.com/Eva-J/articles/7228075.html#_label7,请出门左转
os.grtcwd() 获取文件当前目录(路径)
>>> os.getcwd() 'E:\\tools\\python\\Python'
os.chdir(path) 更改访问路径
>>> os.chdir('E:\\tools\\python') >>> os.getcwd() 'E:\\tools\\python'
os.curdir os.pardir ----> '.' '..'
>>> os.chdir('E:\\tools\\python') >>> os.chdir(os.curdir) >>> os.getcwd() 'E:\\tools\\python' >>> os.chdir(os.pardir) >>> os.getcwd() 'E:\\tools'
os.mkdir 创建单个文件
os.makedirs 递归创建文件 #从路径给出但又不存在的文件开始创建,直到走完所给路径
>>> os.getcwd() 'E:\\tools' >>> os.listdir('E:\\tools') ['Altium Designer 17', 'keil', 'mye', 'mysql-installer-community-8.0.13.0.msi', 'mysql-installer-web-community-8.0.13.0.msi', 'pass', 'pr', 'python', 'video_baofeng', 'war'] >>> os.listdir('E:\\tools\\pass')#打印目录下所有文件,包括隐藏文件****以列表形式打开***** ['pass1'] >>> os.getcwd() 'E:\\tools'
os.rmdir() 删除单级目录(目录下需为空)
os.removedirs 先删除指定单级空目录,再对上一级文件进行判断,若为空则删除,若不为空,指令结束
os.removedirs('E:\\tools\\pass\\pass1')#pass文件中只有pass1 >>> os.listdir('E:\\tools') ['Altium Designer 17', 'keil', 'mye', 'mysql-installer-community-8.0.13.0.msi', 'mysql-installer-web-community-8.0.13.0.msi', 'pr', 'python', 'video_baofeng', 'war'] >>>
os.remove()#删除文件 注意权限控制
os.remove('E:\\textt') Traceback (most recent call last): File "<pyshell#8>", line 1, in <module> os.remove('E:\\textt') PermissionError: [WinError 5] 拒绝访问。: 'E:\\textt'
os.rename("oldname",'newname')
os.stat()#获取文件,目录信息
os.sep系列方法:与操作系统相关,字符串型方法
系统特定路径分隔符:os.sep 无参
文件路径分隔符:os.pathsep 无参
行终止符: os.linesep 无参 e.g. ' \t\n', '\n'
os.name 无参 输出字符串指示当前平台 nt-->windows posix--->linux
用python执行当前平台系统命令(与系统 命令框一样):
os.system(“指令”)#无返回
pa = os.popen('指令').read()将指令操作结果返回(指令被执行)
打印系统环境变量: (ret=)os.environ 有返回值,以字典形式存取
os.path系列方法(路径相关)
os.path.abspath('path') 将path规范后的绝对路径返回
os.path.split('path') 将path分隔成目录+文件名的二元元组返回
os.path.dirname('path') 返回path最后一个‘\’or'/'后的文件名
os.path.exists("path") 返回TRUE或 FALSE判断path是否存在
os.path.isabs('path') 判断路径是否为绝对路径,返回true或false
os.path.isfile('path') 判断path是否为文件,返回true或false
os.path.isdir('path') 判断path是否为目录,返回true或false
os.path.join(*args,'path1','path2',,,,'pathn') 路径拼接,*args部分直接弃用
>>> os.path.join("G:",'pp','s') 'G:pp\\s' >>> os.path.join('5',"G:",'pp','s') 'G:pp\\s' >>> os.path.join('U:',"G:",'pp','s') 'G:pp\\s' >>> os.path.join('U:',"G:op",'pp','s') 'G:op\\pp\\s'
os.path.getatime(path) 返回path目标的最后访问时间
os.path.getmtime(path) 返回path目标的最后修改时间
os.path.getsize(path) 返回path目标大小 (过大返回4096)
stat详解:
stat 结构: st_mode: inode 保护模式 st_ino: inode 节点号。 st_dev: inode 驻留的设备。 st_nlink: inode 的链接数。 st_uid: 所有者的用户ID。 st_gid: 所有者的组ID。 st_size: 普通文件以字节为单位的大小;包含等待某些特殊文件的数据。 st_atime: 上次访问的时间。 st_mtime: 最后一次修改的时间。 st_ctime: 由操作系统报告的"ctime"。在某些系统上(如Unix)是最新的元数据更改的时间,在其它系统上(如Windows)是创建时间(详细信息参见平台的文档)。 stat 结构