os模块
os 模块提供了很多允许你的程序与操作系统直接交互的功能:
os.mkdir() 创建目录(路径,目录名)
os.makedirs() 创建多级目录
os.removedirs( ) 删除多个目录
os.rmdir() 删除目录
os.getcwd() 得到当前工作目录,即当前Python脚本工作的目录路径
os.curdir 返回当前目录: ('.')
os.pardir 获取当前目录的父目录字符串名:('..')
os.listdir() 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.stat('path/filename') 获取文件/目录信息
os.rename("oldnames","new") 重命名文件/目录
os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False。判断目录是否存在
os.path.dirname() #返回path的目录
os.remove(path) 删除一个文件
os.path.getsize(path) 获取文件大小
os.path.basename(path) 获取文件名
os.path.isfile(path) 如果path是一个存在的文件,返回
True
。否则返回
False。判断文件是否存在
os.system() 运行shell命令
os.kill() 杀死进程
os.environ 返回操作系统所有的环境变量
os.getenv() 读取操作系统环境变量
os.environ.setdefault() 设置系统环境变量,仅程序运行时有效
os.path.exists() # 如果path存在,返回True;如果path不存在,返回False。判断该环境变量是否存在
os.sep 操作系统特定的路径分隔符.操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.path.sep 用于分割文件路径的字符串,返回"/"
os.linesep 当前平台使用的行终止符,win下为"\t\n",Linux下为"\n
os.path.abspath() 返回path规范化的绝对路径 。输出绝对路径
os.path.isabs() 如果path是绝对路径,返回True.判断是否是绝对路径.
os.path.exists() 检验给出的路径是否真地存, 判断该路径是否存在
os.path.join 将目录和文件名合成一个路径: os.path.join('root','test','runoob.txt')
os.path.split() 返回一个路径的目录名和文件名: os.path.split('/home/swaroop/byte/code/poem.txt')
os.path.splitext() 分离扩展名: os.path.splitext('/usr/local/test.py') ————> ('/usr/local/test', '.py')
os.chdir(dirname)os.chdir() 方法用于改变当前工作目录到指定的路径。
print(os.getcwd()) retval =os.chdir(r'E:\python\test') retval = os.getcwd() print ("目录修改成功 %s" % retval)
os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间
os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
import time file=r'E:\python\test' # 文件路径 print( os.path.getatime(file) ) # 输出最近访问时间 print( os.path.getctime(file) ) # 输出文件创建时间 print( os.path.getmtime(file) ) # 输出最近修改时间 print( time.gmtime(os.path.getmtime(file)) ) # 以struct_time形式输出最近修改时间
print(os.path.ismount(path)) #判断路径是否为挂载点
os.path.samefile(path1, path2) 判断目录或文件是否相同
os.path.sameopenfile(fp1, fp2) 判断fp1和fp2是否指向同一文件
os.path.splitdrive(path) 一般用在 windows 下,返回驱动器名和路径组成的元组
os.path.normcase(file) 转换path的大小写和斜杠
os.path.islink(path) #判断是否是一个软链接
os.path.expanduser(path)) # 把path中包含的"~"和"~user"转换成用户目录
import os path = r'~\python\test\file' print(os.path.expanduser(path))
os.path.expandvars(path) 根据环境变量的值替换path中包含的"$name"和"${name}"
import os os.environ['KITTIPATH'] = 'D:/thunder' path = '$KITTIPATH/python/teat/file' print(os.path.expandvars(path)) #解释:这个意思就是当前环境变量里边有KITTIPATH这一项,然后又使用了os.path.expandvars()这个函数(用来把特定的$....部分替换成当前环境变量的值,也就是说一个环境变量是'KITTIPATH',它的值是'D:/train',这个函数就是把$KITTIPATH的部分替换成环境变量的值'D:/train')
os.path.realpath(path) 返回path的真实路径:os.path.realpath(__file__)
os.path.normpath(path) #规范path字符串形式
os.linesep 当前平台使用的行终止符,win下为"\t\n",Linux下为"\n
os.path.relpath(path[, start]) 从start开始计算相对路径
import os path = r'\python\test\file' print(os.path.relpath(path))
os.path.supports_unicode_filenames 设置是否支持unicode路径名
os.path.walk(path, visit, arg) 遍历path,进入每个目录都调用visit函数,visit函数必须有3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有文件名,args则为walk的第三个参数
import os def VisitDir(path): for root,dirs,files in os.walk(path): print("%s, root = %s" % (type(root),root)) print("%s, dirs = %s" % (type(dirs),dirs)) print("%s, files = %s " % (type(files),files)) print("\n") for filespath in files: print(os.path.join(root,filespath)) print("--------------------------") if __name__=="__main__": path = r"E:\python\tset\file" VisitDir(path)
参考:https://www.runoob.com/python3/python3-os-file-methods.html