import 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.opoen("命令体") # 该方式适用于shell命令调用不输出,返回执行过程中得输出内容
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的大小
常用配置如下:
路径拼接
path = os.path.join('qiaoning',"wangtao","python.txt")
print(path) #qiaoning/wangtao/python.txt
路径的上级目录
pathdir = os.path.dirname(path)
print(pathdir) #qiaoning/wangtao
文件的绝对路径
path = os.path.abspath('python.txt')
print(path) ## /Users/qiaoning/python/qiaoning/lianxi/python.txt
pathname = os.path.abspath(__file__)
print(pathname) ## /Users/qiaoning/python/qiaoning/lianxi/test.py
获取当前文件上级目录
path = os.path.dirname(pathname)
print(path) ## /Users/qiaoning/python/qiaoning/lianxi
判断路径是否存在
if not os.path.exists(path):
os.mkdir(path)
创建文件夹
os.makedirs(path)
删除文件
os.remove(path)
删除文件夹
import shutil
shutil.rmtree(path)
查看目录下的文件或文件夹
name_list = os.listdir(path)
print(name_list)
获取文件绝对路径
for base_dir,foler_list,file_list in os.walk(path):
for name in file_list:
file_path = os.path.join(base_dir,name)
print(file_path)
获取当前绝对路径
path = os.path.dirname(os.path.realpath(sys.argv[0]))
print(path)