os模块:提供对操作系统进行调用的接口
getcwd()
获取当前工作目录,即当前python脚本工作的目录路径
import os
print(os.getcwd())
执行输出
E:\python_script\day5\test4
chdir()
改变当前脚本工作目录;相当于shell下cd
路径带2个斜杠
import os
os.chdir("E:\\python_script\day5")
第2种方式,前面加r,就可以写一个斜杠(推荐使用)
os.chdir(r"E:\python_script\day5")
curdir
返回当前目录: ('.')
print(os.curdir)
执行输出 . 表示当前路径
pardir
获取当前目录的父目录字符串名:('..')
print(os.pardir)
执行输出 .. 表示上一级目录
makedirs()
可生成多层递归目录
os.makedirs(r"E:\python_script\a\b\c\d")
执行程序,查看目录
removedirs()
若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.removedirs(r"E:\python_script\a\b\c\d")
执行程序,查看目录,发现a文件夹被删除了。
它删除的顺序是d -> c -> b -> a
这个方法,适合删除空文件夹。
mkdir()
生成单级目录;相当于shell中mkdir dirname
os.mkdir(r"D:\a")
执行程序,查看目录是否创建了。
rmdir()
删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.rmdir(r"D:\a")
执行程序,查看目录是否删除了
listdir()
列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
print(os.listdir(r"D:\360Downloads\HotFix"))
执行输出
['powerpoint-x-none_2eabe4e68fdec5b04e2acae387a5ee1f9220171f.cab', 'project-x-none_d0db108640107ca4cba1051d639d81ca527ce144.cab', 'windows10.0-kb4074590-x64-express_e59d5bab6305eebb253efe7377ac4e1c82009c83.cab']
remove()
删除一个文件
os.remove(r"D:\360Downloads\HotFix\sys")
执行程序,查看目录是否删除了
rename()
重命名文件/目录
os.rename(r"D:\a",r"D:\b")
执行程序,查看文件夹是否变成了b
stat()
获取文件/目录信息
print(os.stat(r"D:\b"))
执行输出
os.stat_result(st_mode=16895, st_ino=123848989752689532, st_dev=2255440603, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1519907386, st_mtime=1519907386, st_ctime=1519907386)
sep
输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.sep
在cmd执行输出 \\
Pycharm编辑器执行输出 \
linesep
输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
os.linesep
在cmd执行输出 '\r\n'
pathsep
输出用于分割文件路径的字符串
print(os.pathsep)
执行输出 ;
name
输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
print(os.name)
执行输出 nt
system()
执行系统命令
print(os.system("systeminfo"))
执行输出
主机名: DESKTOP-CFMVJ8G
OS 名称: Microsoft Windows 10 家庭中文版
...
environ
获取系统环境变量
print(os.environ)
执行输出,由于输出过多,直接...表示了。
environ({'ALLUSERSPROFILE': 'C:\\ProgramData', 'APPDATA': 'C:\\Users\\xiao\\AppData\\Roaming', ...})
os.path.abspath(path)
返回path规范化的绝对路径
print(os.path.abspath(__file__))
执行输出,当前文件的绝对路径
E:\python_script\day5\test4\test.py
os.path.split(path)
将path分割成目录和文件名二元组返回
print(os.path.split(r"d:\a\test.txt"))
执行输出
('d:\\a', 'test.txt')
os.path.dirname(path)
返回path的目录。其实就是os.path.split(path)的第一个元素
print(os.path.dirname(__file__))
执行输出
E:/python_script/day5/test4
os.path.basename(path)
返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
print(os.path.basename(__file__))
执行输出 test.py
os.path.exists(path)
如果path存在,返回True;如果path不存在,返回False
print(os.path.exists(r"d:\b"))
执行输出 True
os.path.isabs(path)
如果path是绝对路径,返回True
print(os.path.isabs(r"d:\b"))
执行输出 True
os.path.isfile(path)
如果path是一个存在的文件,返回True。否则返回False
print(os.path.isfile(r"d:\b"))
执行输出 False
os.path.isdir(path)
如果path是一个存在的目录,则返回True。否则返回False
print(os.path.isdir(r"d:\b"))
执行输出 True
os.path.join(path1[, path2[, ...]])
将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
print(os.path.join(r'c:',r'\a.txt'))
执行输出
c:\a.txt
os.path.getatime(path)
返回path所指向的文件或者目录的最后存取时间
print(os.path.getatime(r'D:\nhewminer\start.bat'))
执行输出
1514088795.8196068
os.path.getmtime(path)
返回path所指向的文件或者目录的最后修改时间
print(os.path.getmtime(r'D:\nhewminer\start.bat'))
执行输出
1514041544.0