在Python程序里操作文件和目录是经常要用到的,这里分享下通过网络资料总结出来的一些利用os模块和shutil模块操作文件和目录的方法简单说明。
os.getcwd() # 获取当前工作目录,即当前python脚本工作的目录路径 === linux: pwd 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('filename‘) # 删除一个文件 os.rename('oldname' , 'newname') # 重命名一个文件 os.path.abspath(path) #返回绝对路径 os.path.basename(path) #返回文件名 os.path.dirname(path) #返回文件路径 os.path.exists(path) #路径存在则返回True,路径损坏返回False os.path.getatime(path) #返回文件最近访问时间。 os.path.getmtime(path) #返回在文件最新修改的时间。 os.path.getctime(path) #输出文件创建的时间 os.path.getsize(path) #返回文件大小,如果文件不存在就返回错误 os.path.isabs(path) #判断是否为绝对路径 os.path.isfile(path) #判断路径是否为文件 os.path.isdir(path) #判断路径是否为目录 os.path.join(path1, path2) #把目录path1和文件名path2合成一个路径 os.path.normcase(path) #转换path的大小写和斜杠 os.path.normpath(path) #规范path字符串形式 os.path.realpath(path) #返回path的真实路径 os.path.relpath(path, start) #从start开始计算相对路径 os.path.samefile(path1, path2) #判断目录或文件是否相同 os.path.sameopenfile(fp1, fp2) #判断fp1和fp2是否指向同一文件 os.path.samestat(stat1, stat2) #判断stat tuple stat1和stat2是否指向同一个文件 os.path.split(path) #把路径分割成dirname和basename,返回一个元组 os.path.splitdrive(path) #一般用在windows下,返回驱动器名和路径组成的元组 os.path.splitext(path) #分割路径,返回(路径名+文件扩展名前的名称)和(文件扩展名)的元组 os.path.splitunc(path) #把路径分割为加载点与文件 os.path.walk(path, visit, arg) #遍历path,进入每个目录都调用visit函数,visit函数必须有3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有文件名,args则为walk的第三个参数 os.path.supports_unicode_filenames #设置是否支持unicode路径名
发表评论