本文摘自php中文网,作者大家讲道理,侵删。
os模块调用操作系统接口的模块
相关方法或属性:
getcwd() --- 获取当前的操作目录,等同于linux中的pwd命令。
调用:os.getcwd()
chdir() --- 改变python脚本的工作目录。
调用:os.chdir(path) (path以字符串形式传入)
例如:
1 | >>> os. getcwd () 'C:\\Users\\BLUE' >>> os. chdir ( 'D:\\Program Files' )>>> os. getcwd () 'D:\\Program Files' >>> os. chdir (r 'C:\Users\BLUE' )>>> os. getcwd () 'C:\\Users\\BLUE'
|
curdir --- 当前目录 使用:os.curdir
pardir --- 当前目录的父目录 使用: os.pardir
例如:
1 | >>> os.curdir '.' >>> os.pardir '..' >>> os. getcwd () 'C:\\Users\\BLUE' >>> os. chdir (os.pardir)>>> os. getcwd () 'C:\\Users'
|
makedirs() --- 递归的创建目录。
调用:os.makedirs('dir_1/dir_2/dir_3/.../dir_n')
例如:os.makedirs(r'C:\a\b\c\d') #该操作会依次在C盘下创建a, b, c, d四个文件夹(若a目录存在则只创建b,c,d三个目录)。
removedirs() --- 若当前目录为空则删除,并切换到父级目录,若为空继续删除,依次递归。
调用:os.removedirs('dir_1/dir_2/dir_3/.../dir_n')
例如:os.removedirs(r'C:\a\b\c\d') #该操作会依次在C盘下依次删除d, c, b, a四个文件夹,如果中间某一级目录不为空,则在该级停止删除。
mkdir() --- 创建单级目录。
调用:os.mkdir('dir_1/dir_2/dir_3/.../dir_n')
例如:os.mkdir(r'C:\a\b\c\d') #该操作会在C盘下创建d文件夹(若a, b, c目录有一个不存在,则无法创建并报错)。
rmdir() --- 删除单级空目录。
调用:os.rmdir('dir_1/dir_2/dir_3/.../dir_n')
例如:os.rmdir(r'C:\a\b\c\d') #若d目录为空,该操作只删除d目录, 否则无法删除并报错。
listdir() --- 以列表的形式列出制定目录下的所有文件(包括隐藏文件),子目录。
调用:os.listdir(path)
例如:(列出D盘下的所有文件)
1 2 | >>> os.listdir(r 'D:' )
[ 'Anaconda3' , 'BaiduNetdisk' , 'BHO' , 'Data' , 'guiminer' , 'Intel' , 'JetBrains' , 'Profiles' , 'Program' , 'Tencent' , 'Thunder' , 'Thunder BHO Platform' , 'UninstallXLWFP.exe' , 'WinRAR' , '腾讯游戏' ]
|
remove() --- 删除一个文件。
调用:os.remove(path)
rename() --- 对一个文件重命名。
调用:os.rename(old_filename, new_filename) #注意不能覆盖已存在文件
stat() --- 获取文件或目录的属性信息。
调用:os.stat(path)
例如:
1 2 3 | >>> os.stat(r 'C:\Windows\regedit.exe' )
os.stat_result(st_mode=33279, st_ino=281474976742063, st_dev=1893840342, st_nlink=2, st_uid=0, st_gid=0, st_size=321024, st_atime=1489870628, st_mtime=1489870628, st_ctime=1489870628)>>> os.stat(r 'C:\Windows' )
os.stat_result(st_mode=16895, st_ino=281474976712108, st_dev=1893840342, st_nlink=1, st_uid=0, st_gid=0, st_size=32768, st_atime=1502900732, st_mtime=1502900732, st_ctime=1489837220)
|
sep --- 使用os.sep获取当前平台的路径的分隔符(目录与子目录之间)(例如windows下是r‘\’,Linux下时‘/’)。
linesep --- 使用os.linesep获取当前平台的换行符(例如windows下是‘\r\n’,Linux下时‘\n’)。
pathsep --- 使用os.pathsep获取当前平台文件路径的分隔符(文件之间)(例如windows下是‘;’,Linux下时‘:’)。
name --- 使用os.name获取当前平台名称。
例如:
1 | >>> os.sep '\\' >>> os.linesep '\r\n' >>> os.pathsep ';' >>> os.name 'nt'
|
system() --- 执行系统命令。
调用:os.system(command)
例如:
1 2 3 4 5 6 7 8 9 | >>> os.system( 'ping www.baidu.com' )
正在 Ping www.A.sHiFeN.com [220.181.112.244] 具有 32 字节的数据:
来自 220.181.112.244 的回复: 字节=32 时间=38ms TTL=55来自 220.181.112.244 的回复: 字节=32 时间=38ms TTL=55来自 220.181.112.244 的回复: 字节=32 时间=38ms TTL=55来自 220.181.112.244 的回复: 字节=32 时间=37ms TTL=55
220.181.112.244 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 37ms,最长 = 38ms,平均 = 37ms
|
environ --- 使用os.environ获取系统环境变量。
例如:
1 2 | >>> os.environ
environ({ 'COMPUTERNAME' : 'DESKTOP-KTUG9G5' , 'APPDATA' : 'C:\\Users\\BLUE\\AppData\\Roaming' , 'USERDOMAIN_ROAMINGPROFILE' : 'DESKTOP-KTUG9G5' , 'HOMEPATH' : '\\Users\\BLUE' , 'NUMBER_OF_PROCESSORS' : '8' , 'PATHEXT' : '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC' , 'ONEDRIVE' : 'C:\\Users\\BLUE\\OneDrive' , 'LOGONSERVER' : '\\\\DESKTOP-KTUG9G5' , 'OS' : 'Windows_NT' , 'TEMP' : 'C:\\Users\\BLUE\\AppData\\Local\\Temp' , 'COMMONPROGRAMW6432' : 'C:\\Program Files\\Common Files' , 'PROGRAMDATA' : 'C:\\ProgramData' , 'PROMPT' : '$P$G' , 'COMMONPROGRAMFILES(X86)' : 'C:\\Program Files (x86)\\Common Files' , 'PROCESSOR_IDENTIFIER' : 'Intel64 Family 6 Model 60 Stepping 3, GenuineIntel' , 'LOCALAPPDATA' : 'C:\\Users\\BLUE\\AppData\\Local' , 'USERNAME' : 'BLUE' , 'PROCESSOR_REVISION' : '3c03' , 'PROGRAMFILES' : 'C:\\Program Files' , 'PROGRAMW6432' : 'C:\\Program Files' , 'WINDIR' : 'C:\\Windows' , 'PUBLIC' : 'C:\\Users\\Public' , 'ASL.LOG' : 'Destination=file' , 'PSMODULEPATH' : 'C:\\Program Files\\WindowsPowerShell\\Modules;C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules' , 'PROCESSOR_LEVEL' : '6' , 'SYSTEMROOT' : 'C:\\Windows' , 'SESSIONNAME' : 'Console' , 'ALLUSERSPROFILE' : 'C:\\ProgramData' , 'SYSTEMDRIVE' : 'C:' , 'COMSPEC' : 'C:\\Windows\\system32\\cmd.exe' , 'PROGRAMFILES(X86)' : 'C:\\Program Files (x86)' , 'PROCESSOR_ARCHITECTURE' : 'AMD64' , 'HOMEDRIVE' : 'C:' , 'TMP' : 'C:\\Users\\BLUE\\AppData\\Local\\Temp' , 'COMMONPROGRAMFILES' : 'C:\\Program Files\\Common Files' , 'PATH' : 'D:\\Program Files\\Anaconda3\\Library\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;D:\\Program Files\\Anaconda3;D:\\Program Files\\Anaconda3\\Scripts;D:\\Program Files\\Anaconda3\\Library\\bin;C:\\Users\\BLUE\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\BLUE\\AppData\\Local\\GitHubDesktop\\bin' , 'USERDOMAIN' : 'DESKTOP-KTUG9G5' , 'USERPROFILE' : 'C:\\Users\\BLUE' })
|
path.abspath() --- 获取文件的绝对路径
调用:os.path.abspath(filename)
例如:
1 | >>> os. chdir (r 'C:\windows' )>>> os.path.abspath( 'regedit.exe' ) 'C:\\windows\\regedit.exe'
|
path.split() --- 传入一个文件路径,返回一个tuple(由两部分构成(path, filename))。
调用:os.path.split(path)
例如:
path.dirname() --- 获取路径中的目录。
调用:os.path.dirname(path)
path.basename() --- 获取路径中的文件名。
调用:os.path.basename(path)
1 2 | >>> os.path.dirname(r 'C:\Windows\System32\drivers\etc\hosts' ) 'C:\\Windows\\System32\\drivers\\etc' >>> os.path. basename (r 'C:\Windows\System32\drivers\etc\hosts' ) 'hosts' >>> os.path.split(r 'C:\Windows\System32\drivers\etc\hosts' )
( 'C:\\Windows\\System32\\drivers\\etc' , 'hosts' )
|
path.exists() --- 判断路径是否存在。
调用:os.path.exists(path)
path.isabs() --- 判断路径是否是绝对路径。
调用:os.path.isabs(path)
path.isfile() --- 判断是否是文件。
调用:os.path.isfile(path)
path.isdir() --- 判断是否是目录。
调用:os.path.isdir(path)
例如:
1 2 3 4 5 6 7 8 9 | >>> os.path.exists(r 'C:\Windows\System32\drivers\etc\hosts' )
True>>> os.path.exists(r 'C:\Windows\System32\drivers\etc\abcd' )
False>>> os.path.isabs(r 'C:\Windows\System32\drivers\etc\hosts' )
True>>> os.path.isabs(r '../' )
False>>> os.path.isfile( 'C:\Windows\System32\drivers\etc\hosts' )
True>>> os.path.isfile( 'C:\Windows\System32\drivers\etc' )
False>>> os.path.isdir( 'C:\Windows\System32\drivers\etc' )
True>>> os.path.isdir( 'C:\Windows\System32\drivers\etc\hosts' )
False
|
path.join() --- 将一个或多个路径正确地连接起来。
调用:os.path.join(path, *paths)
path.getatime() --- 获取文件最后的访问时间(以时间戳的形式返回)。
调用:os.path.getatime(path)
path.getmtime() --- 获取文件最后的修改时间(以时间戳的形式返回)。
调用:os.path.getmtime(path)
例如:
1 2 | >>> os.path.join( 'C:' , r '\windows\System32' , r '\System32\drivers' ) 'C:\\System32\\drivers' >>> os.path.join( 'C:' , r '\windows\System32' ) 'C:\\windows\\System32' >>> os.path.getatime( 'C:\Windows\System32\drivers\etc\hosts' )1501070798.585747
>>> os.path.getmtime( 'C:\Windows\System32\drivers\etc\hosts' )1502505489.0068946
|
以上就是python os模块使用详解的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python怎么分析数据
什么是模块?Python中模块module的介绍
linux和Python先学哪个
Python编程学来做什么
Python中xlwt设置excel单元格字体及格式方法
Python中序列增量赋值的简单介绍(附示例)
Python3和2为什么区别大吗
Python中关于数字的详解
Python怎么垂直输出
Python怎么打包apk
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » python os模块使用详解