os模块

os模块 提供对操作系统进行调用的接口

os.getcwd() 获取当前工作目录

>>> os.getcwd()
'C:\Users\AllenZhang'

os.chdir('dirname') 改变当前脚本的工作目录

>>> os.chdir('D:\')
>>> os.getcwd()
'D:\'

os.curdir 返回当前目录

>>> os.curdir
'.'

os.pardir 获取当前目录的父目录字符串名

>>> os.pardir
'..'

os.makedirs() 可生成多层递归目录

>>> os.makedirs('1/2/3/4') # 当前目录生成1/2/3/4的目录

os.removedirs() 若目录为空,则删除,并递归到上一级目录,若也为空,则删除,以此类推

>>> os.removedirs('1/2/3/4') # 刚刚创建的4个目录都会删除

os.mkdir() 生成单级目录

os.rmdir() 删除单级空目录

>>> os.mkdir('tokyohot')
>>> os.rmdir('tokyohot')

os.listdir() 列出指定目录下的所有文件和子目录,包括隐藏文件,以列表的方式打印

>>> os.chdir('D:\sublime')
>>> os.listdir()
['104844963', '104844963.7z']

os.remove() 删除一个文件

>>> os.chdir('D:\')
>>> os.listdir()
['$RECYCLE.BIN', '666', 'BaiduNetdisk', 'BaiduNetdiskDownload', 'Fedora Media Writer', 'GameDownload', 'JetbrainsCrack-2.7-release-str.jar', 'LightningZip', 'photoshop', 'Program Files', 'ps', 'PyCharm 2017.3.3', 'QMDownload', 'QQMusicCache', 'QQPCMgr', 'qqpcmgr_docpro', 'qycache', 'Recovery', 'study', 'sublime', 'Sublime Text3', 'System Volume Information', 'Thunder9', 'WeGame', 'work', 'XMPCache', 'Youku Files', 'zjz', '新建文件夹', '练习', '英雄时刻', '迅雷下载']
>>> os.remove('666')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
PermissionError: [WinError 5] 拒绝访问。: '666'
>>> os.remove('JetbrainsCrack-2.7-release-str.jar')
>>> os.listdir()
['$RECYCLE.BIN', '666', 'BaiduNetdisk', 'BaiduNetdiskDownload', 'Fedora Media Writer', 'GameDownload', 'LightningZip', 'photoshop', 'Program Files', 'ps', 'PyCharm 2017.3.3', 'QMDownload', 'QQMusicCache', 'QQPCMgr', 'qqpcmgr_docpro', 'qycache', 'Recovery', 'study', 'sublime', 'Sublime Text3', 'System Volume Information', 'Thunder9', 'WeGame', 'work', 'XMPCache', 'Youku Files', 'zjz', '新建文件夹', '练习', '英雄时刻', '迅雷下载']

 os.rename('oldname', 'newname')

>>> os.listdir()
['$RECYCLE.BIN', '666', 'BaiduNetdisk', 'BaiduNetdiskDownload', 'Fedora Media Writer', 'GameDownload', 'LightningZip', 'photoshop', 'Program Files', 'ps', 'PyCharm 2017.3.3', 'QMDownload', 'QQMusicCache', 'QQPCMgr', 'qqpcmgr_docpro', 'qycache', 'Recovery', 'study', 'sublime', 'Sublime Text3', 'System Volume Information', 'Thunder9', 'WeGame', 'work', 'XMPCache', 'Youku Files', 'zjz', '新建文件夹', '练习', '英雄时刻', '迅雷下载']
>>> os.rename('zjz', 'zjz3')
>>> os.listdir()
['$RECYCLE.BIN', '666', 'BaiduNetdisk', 'BaiduNetdiskDownload', 'Fedora Media Writer', 'GameDownload', 'LightningZip', 'photoshop', 'Program Files', 'ps', 'PyCharm 2017.3.3', 'QMDownload', 'QQMusicCache', 'QQPCMgr', 'qqpcmgr_docpro', 'qycache', 'Recovery', 'study', 'sublime', 'Sublime Text3', 'System Volume Information', 'Thunder9', 'WeGame', 'work', 'XMPCache', 'Youku Files', 'zjz3', '新建文件夹', '练习', '英雄时刻', '迅雷下载']

os.stat() 获取文件/目录信息

>>> os.stat('D:\')
os.stat_result(st_mode=16895, st_ino=1407374883553285, st_dev=1314442825, st_nlink=1, st_uid=0, st_gid=0, st_size=8192, st_atime=1526694133, st_mtime=1526694133, st_ctime=1481854131)

os.sep 输出操作系统路径的分隔符

>>> os.sep
'\'

os.linesep 输出操作系统的换行符

>>> os.linesep # Windows
'
'

os.pathsep 输出分割路径的字符串(可参考下面环境变量的打印,路径之间用分号隔开)

>>> os.pathsep
';'

os.name 输出当前使用的平台

>>> os.name
'nt'

os.system('commond') 执行shell命令

os.environ 获取系统环境变量

>>> os.environ
environ({'OS': 'Windows_NT', 'COMMONPROGRAMW6432': 'C:\Program Files\Common Files', 'USERPROFILE': 'C:\Users\AllenZhang', 'PROGRAMFILES(X86)': 'C:\Program Files (x86)', 'TMP': 'C:\Users\ALLENZ~1\AppData\Local\Temp', 'PROCESSOR_LEVEL': '6', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PROGRAMW6432': 'C:\Program Files', 'PROCESSOR_REVISION': '8e09', 'SESSIONNAME': 'Console', 'NUMBER_OF_PROCESSORS': '4', 'COMPUTERNAME': 'DESKTOP-PHT26D2', 'PUBLIC': 'C:\Users\Public', 'USERNAME': 'AllenZhang', 'PSMODULEPATH': 'C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules', 'ALLUSERSPROFILE': 'C:\ProgramData', 'HOMEPATH': '\Users\AllenZhang', 'PROCESSOR_ARCHITECTURE': 'AMD64', 'COMMONPROGRAMFILES(X86)': 'C:\Program Files (x86)\Common Files', 'TEMP': 'C:\Users\ALLENZ~1\AppData\Local\Temp', 'COMMONPROGRAMFILES': 'C:\Program Files\Common Files', 'USERDOMAIN': 'DESKTOP-PHT26D2', 'HOMEDRIVE': 'C:', 'COMSPEC': 'C:\WINDOWS\system32\cmd.exe', 'PROCESSOR_IDENTIFIER': 'Intel64 Family 6 Model 142 Stepping 9, GenuineIntel', 'LOGONSERVER': '\\DESKTOP-PHT26D2', 'APPDATA': 'C:\Users\AllenZhang\AppData\Roaming', 'PROMPT': '$P$G', 'SYSTEMROOT': 'C:\WINDOWS', 'USERDOMAIN_ROAMINGPROFILE': 'DESKTOP-PHT26D2', 'SYSTEMDRIVE': 'C:', 'WINDIR': 'C:\WINDOWS', 'ONEDRIVE': 'C:\Users\AllenZhang\OneDrive', 'PATH': 'C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\nodejs\;C:\Python27\;C:\Python27\Scripts;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Users\AllenZhang\AppData\Local\Programs\Python\Python35\Scripts\;C:\Users\AllenZhang\AppData\Local\Programs\Python\Python35\;C:\Users\AllenZhang\AppData\Local\Microsoft\WindowsApps;C:\Users\AllenZhang\AppData\Roaming\npm;', 'LOCALAPPDATA': 'C:\Users\AllenZhang\AppData\Local', 'PROGRAMFILES': 'C:\Program Files', 'PROGRAMDATA': 'C:\ProgramData'})

os.path.abspath(path)  返回path规范化的绝对路径

>>> os.listdir()
['$RECYCLE.BIN', '666', 'BaiduNetdisk', 'BaiduNetdiskDownload', 'Fedora Media Writer', 'GameDownload', 'LightningZip', 'photoshop', 'Program Files', 'ps', 'PyCharm 2017.3.3', 'QMDownload', 'QQMusicCache', 'QQPCMgr', 'qqpcmgr_docpro', 'qycache', 'Recovery', 'study', 'sublime', 'Sublime Text3', 'System Volume Information', 'Thunder9', 'WeGame', 'work', 'XMPCache', 'Youku Files', 'zjz3', '新建文件夹', '练习', '英雄时刻', '迅雷下载']
>>> os.chdir('英雄时刻')
>>> os.listdir()
['65878343']
>>> os.path.abspath('./65878343')
'D:\英雄时刻\65878343'

os.path.split(path) 将path分割成目录和文件名二元组返回

>>> os.path.split('65878343')
('', '65878343')

os.path.dirname(path) 返回path的目录

>>> os.path.dirname('65878343')
''

os.path.basename(path) 返回path最后的文件名

>>> os.path.basename('英雄时刻_20170715-10点50分51s.avi')
'英雄时刻_20170715-10点50分51s.avi'

os.path.exists(path) 返回布尔值,path是否存在

>>> os.path.exists('2')
False

os.path.isabs(path) 是否为绝对路径

>>> os.path.isabs('英雄时刻_20170715-10点50分51s.avi')
False

os.path.isfile(path) 是否为一个存在的文件

>>> os.mkdir('2')
>>> os.listdir()
['2', '英雄时刻_20170715-10点50分51s.avi']
>>> os.path.isfile('2')
False
>>> os.path.isfile('英雄时刻_20170715-10点50分51s.avi')
True

os.path.isdir(path) 是否为一个存在的目录

>>> os.listdir()
['2', '英雄时刻_20170715-10点50分51s.avi']
>>> os.path.isdir('2')
True
>>> os.path.isdir('英雄时刻_20170715-10点50分51s.avi')
False

os.path.join(path1[, path2[, ...] ]) 将多个路径组合返回,第一个绝对路径之前的参数将被忽略

>>> os.path.join('D:\', '2', '3')
'D:\2\3'

os.path.getatime(path) 返回path的最后存取时间

os.path.getmtime(path) 返回path的最后修改时间

>>> os.listdir()
['2', '英雄时刻_20170715-10点50分51s.avi']
>>> os.path.getatime('2')
1526695470.737427
>>> os.path.getmtime('2')
1526695470.73742
原文地址:https://www.cnblogs.com/allenzhang-920/p/9053981.html