广东长海建设工程有限公司网站,图书商城网站开发的目的,上线了建站价格,广告设计是什么专业类别os.walk
os.walk() 方法是一个简单易用的文件、目录遍历器#xff0c;可以帮助我们高效的处理文件、目录方面的事情。简单来说#xff0c;就是挨个遍历指定路径下的目录#xff08;文件夹#xff09;和文件。用于通过在目录树中游走输出在目录中的目录名#xff0c;文件名…os.walk
os.walk() 方法是一个简单易用的文件、目录遍历器可以帮助我们高效的处理文件、目录方面的事情。简单来说就是挨个遍历指定路径下的目录文件夹和文件。用于通过在目录树中游走输出在目录中的目录名文件名在UnixWindows中有效。
要使用os.walk,首先要载入该函数,可以使用以下两种方法
import osfrom os import walk
语法 os.walk(top[, topdownTrue[, οnerrοrNone[, followlinksFalse]]]) 参数 top: 是你所要遍历的目录的地址topdown: 可选为 True则优先遍历 top 目录否则优先遍历 top 的子目录(默认为开启)。如果 topdown 参数为 Truewalk 会遍历top文件夹与top 文件夹中每一个子目录。onerror: 可选 需要一个 callable 对象当 walk 需要异常时会调用。followlinks: 可选 如果为 True则会遍历目录下的快捷方式(linux 下是 symbolic link)实际所指的目录(默认关闭)。返回值
os.walk 的返回值是一个生成器(generator),也就是说我们需要遍历它来获得所有的内容。每次遍历的对象都是返回的是一个三元组(root,dirs,files) root 所指的是当前正在遍历的这个文件夹的本身的地址dirs 是一个list,内容是该文件夹中所有的目录的名字(不包括子目录)files 同样是list,内容是该文件夹中所有的文件(不包括子目录)如果topdown 参数为真walk 会遍历top文件夹与top文件夹中每一个子目录。实例
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os
for root, dirs, files in os.walk(., topdownFalse):print(dirs)print(files)# 第二次第三次循环的是当前目录下的dirs1dirs2文件夹执行以上程序输出结果为
[dirs1, dirs2]
[f1, f2, f3]
[]
[dirs1_f1,dirs1_2]
[]
[dirs2_f1,dirs2_2]
os.path
官方文档http://docs.python.org/library/os.path.html
下列所列文件路径为’/home/flp/abc.txt’
os.path.abspath(path)返回绝对路径(‘/home/flp/abc.txt’)os.path.basename(path)返回文件名(‘abc.txt’)os.path.commonprefix(list)返回list(多个路径)中所有path共有的最长的路径os.path.dirname(path)返回文件路径(‘/home/flp’)os.path.exists(path)如果路径 path 存在返回 True如果路径 path 不存在返回 False。os.path.lexists路径存在则返回True,路径损坏也返回Trueos.path.expanduser(path)把path中包含的”~”和”~user”转换成用户目录os.path.expandvars(path)根据环境变量的值替换path中包含的”$name”和”${name}”os.path.getatime(path)返回最近访问时间浮点型秒数os.path.getmtime(path)返回最近文件修改时间os.path.getctime(path)返回文件 path 创建时间os.path.getsize(path)返回文件大小如果文件不存在就返回错误os.path.isabs(path)判断是否为绝对路径os.path.isfile(path)判断路径是否为文件os.path.isdir(path)判断路径是否为目录os.path.islink(path)判断路径是否为链接os.path.ismount(path)判断路径是否为挂载点os.path.join(path1[, path2[, …]])把目录和文件名合成一个路径如os.path.join(‘/home/flp’,’abc.txt’)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返回一个元组如(‘/home/flp’,’abc.txt’)os.path.splitdrive(path)一般用在 windows 下返回驱动器名和路径组成的元组os.path.splitext(path)分割路径返回路径名和文件扩展名的元组(‘/home/flp/abc’,’txt’)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路径名
os.stat os.stat(‘path/filename’) 获取文件/目录信息 的结构说明
print(os.stat(c:abc)) # os.stat_result(st_mode16895, st_ino11821949022186825, st_dev3303659261, st_nlink1, st_uid0, st_gid0, st_size4096, st_atime1547435238, st_mtime1547435238, st_ctime1543997539)stat 结构:st_mode: inode 保护模式st_ino: inode 节点号。st_dev: inode 驻留的设备。st_nlink: inode 的链接数。st_uid: 所有者的用户ID。st_gid: 所有者的组ID。st_size: 普通文件以字节为单位的大小包含等待某些特殊文件的数据。st_atime: 上次访问的时间。st_mtime: 最后一次修改的时间。st_ctime: 由操作系统报告的ctime。在某些系统上如Unix是最新的元数据更改的时间在其它系统上如Windows是创建时间详细信息参见平台的文档。
os属性
os.sep # 输出操作系统特定的路径分隔符win下为\\,Linux下为/
os.linesep # 输出当前平台使用的行终止符win下为\r\n,Linux下为\n
os.pathsep # 输出用于分割文件路径的字符串 win下为;,Linux下为:
os.name # 输出字符串指示当前使用平台。win-nt; Linux-posix
os其他
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.system(bash command) # 运行shell命令直接显示或运行cmd命令无返回值
os.popen(bash command).read() # 运行shell命令返回执行结果
os.getcwd() # 获取当前工作目录即当前python脚本工作的目录路径
os.chdir(dirname) # 改变当前脚本工作目录相当于shell下cd