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
'\r\n'

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

 

posted @ 2018-05-17 23:50  AllenZhang_(*^▽^*)  阅读(297)  评论(0编辑  收藏  举报