python之os模块
python之os模块
常用如下:
os.getcwd() #获取当前工作目录,即当前python脚本工作的目录路径
os.chdir("dirname") #改变当前脚本的工作目录;相当于shell下的cd
os.curdir #返回当前目录:('.')
os.pardir #获取当前目录的父目录字符串名:('..')
os.makedirs('dirname1/dirname2') #可生成多层递归目录
os.removedirs('dirname1') #若目录为空,则删除,并递归到上一级目录。如若也为空,则删除,依次类推
os.mkdir('dirname') #生成单级目录,相当于shell中mkdir dirname
os.rmdir('dirname') #删除单级空目录,若目录不空则无法删除,报错;相当于shell中的rmdir dirname
os.listdir('dirname') #列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove() #删除文件
os.rename("oldname","newname") #重命名文件/目录
os.stat('path/filename') #获取文件/目录信息
os.sep #输出操作系统特定的路径分隔符,win下为"\\",linux为"/"
os.linesep #输出当前平台使用的行终止符,win下为"\t\n",linux为"\n"
os.pathsep #输出用于分割文件路径的字符串,win下为; linux下为:
os.name #输出字符串指示当前使用平台。win -> 'nt' Linux -> 'posix'
os.system("bash command") #运行shell命令,直接显示
os.environ #获取系统环境变量
os.path.abspath(path) #返回path规范化的绝对路径
os.path.split(path) #将path分割成目录和文件名二元组返回
os.path.dirname(path) #返回path目录,其实就是os.path.split(path)的第一个元素
os.path.basename(path) #返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
os.path.exists(path) #如果path存在返回true;如果path不存在返回false
os.path.isabs(path) #如果path是绝对路径返回true
os.path.isfile(path) #如果path是一个存在的文件返回true,否则返回false
os.path.isdir(path) #如果path是一个存在的目录 返回true,否则返回false
os.path.join(path1[,path2[,...]]) #将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getatime(path) #返回path所指向的文件或者目录的最后存取时间
os.path.getmtime(path) #返回path所指向的文件或者目录的最后修改时间
os.path.getsize(path) #返回path大小(字节)
os.path.normpath('/a/v/c/../..') #往上退几级目录
print(res.resolve()) #将/替换为\
#在python3.5之后推出新模块pathlib
from pathlib import Path
#root=Path(__file__)
#res=root.parent.parent / r'\bb\saa\c'
res=Path(__file__).parent.parent
print(res)
print(res.resolve())
python使用shell功能
>>> os.system("ls -l ") drwxr-xr-x 2 root root 4096 May 14 23:11 SSL drwxr-xr-x 3 root root 4096 May 16 13:01 weirui drwxr-xr-x 2 root root 4096 Apr 30 22:33 zhaopian
常用如下
>>> res=Path('/a/b/c') / 'd/e.html' >>> print(res) /a/b/c/d/e.html import os res=os.listdir('.') print(res) os.environ['aaaaaa']='8888888' print(os.environ) >>> print(os.path.split('/a/b/c/d.txt')) ('/a/b/c', 'd.txt') >>> print(os.path.dirname('/a/b/c/d.txt')) /a/b/c >>> print(os.path.basename('/a/b/c/d.txt')) d.txt >>> print(os.path.basename('/a/b/c/d.txt')) d.txt >>> print(os.path.isabs('/a/b/c/d.txt')) True >>> print(os.path.isabs('./b/c/d.txt')) False >>> print(os.path.join('b','/','d')) /d >>> os.path.normpath('/a/v/c/../..') '/a'