Python中OS库的常用方法
在写一些系统脚本或者自动化运维脚本的时候经常会用到os库,这里做个整理,方便查找
os.sep
获得当前操作系统使用的目录分隔符,比如Windows就会得到\
而Linux/Unix就会得到/
os.name
获得当前使用的操作系统,Windows是NT内核,所以会得到nt
,而Linux/Unix用户则会得到posix
os.getcwd()
获得当前工作目录,即当前Python脚本工作的目录路径。
os.getenv()
用来获得环境变量os.getenv('PATH')
os.environ
可以获取并修改环境变量
1 | print(os.environ['PATH']) |
os.listdir()
列出某目录下所有的目录和文件print(os.listdir())
os.remove()
删除文件os.remove('D:/test.file')
os.system()
运行Shell或者CMD命令os.system('ifconfig')
os.linesep
获取当前平台使用的行终止符。例如,Windows使用\r\n
,Linux使用\n
而Mac使用\r
。
os.path.split()
获得一个列表,list[0]是路径的,list[1]是文件名
1 | path = 'D:/game/gtav/bin/gtav.exe' |
os.path.isfile()和os.path.isdir()
判断路径是不是文件/目录
1 | print(os.path.isfile('D:/game/gtav/bin/gtav.exe')) |
os.path.existe()
函数用来检验给出的路径是否真地存在
1 | path = 'D:\\hadoop-2.6.5\\bin' |
os.chdir(dirname)
切换工作目录,相当于cd
的命令
1 | os.chdir('D:/game/gtav/') |
os.path.getsize(name)
获取文件大小,以字节为单位
1 | size = os.path.getsize('D:/iso/debian-8.6.0-amd64-DVD-1.iso') |
os.path.abspath(name)
获取绝对路径,如果在Python工作目录下有一个文件file.txt
,那么我就可以直接open('file.txt')
,也可以用该方法获得其绝对路径print(os.path.abspath('file.txt'))
。也可以用来规范路径字符串print(os.path.abspath('D:/game\gtav\bin/gtav.exe'))
os.path.normpath(path)
专门用来规范路径
1 | path = 'D:/test/sdf\zfb' |
os.path.splitext()
获取文件名和扩展名
1 | path = '/home/shawn/hello.py' |
os.path.join(path,name)
连接目录和文件名,可以不用自己添加分隔符,能减少bug率提升跨平台性
os.path.basename(path)
获取路径中的文件名
os.path.dirname(path)
获取路径中的目录名