首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python - Os.walk遍历不同驱动器中的目录列表

Python的os.walk()函数可以用于遍历指定路径下的所有文件和文件夹,包括子文件夹。它返回一个生成器对象,可以通过迭代来获取路径、文件夹列表和文件列表。

os.walk()函数的语法如下:

代码语言:python
代码运行次数:0
复制
for root, dirs, files in os.walk(path):
    # root表示当前正在遍历的文件夹路径
    # dirs表示当前文件夹下的子文件夹列表
    # files表示当前文件夹下的文件列表
    # 可以在这里对文件和文件夹进行处理

os.walk()函数的参数path是要遍历的路径。可以是相对路径或绝对路径。

下面是os.walk()函数的一些常见应用场景:

  1. 文件搜索:可以使用os.walk()函数遍历文件系统中的所有文件,然后根据文件名或文件内容进行搜索。
  2. 文件备份:可以使用os.walk()函数遍历源文件夹中的所有文件,然后将它们复制到目标文件夹中,实现文件备份功能。
  3. 文件统计:可以使用os.walk()函数遍历文件夹中的所有文件,然后统计文件的数量、大小等信息。
  4. 文件夹清理:可以使用os.walk()函数遍历文件夹中的所有文件和文件夹,然后根据一定的规则进行清理和整理。

腾讯云提供了丰富的云计算产品,其中与Python的os.walk()函数相关的产品是对象存储(COS)和文件存储(CFS)。

  • 腾讯云对象存储(COS):是一种海量、安全、低成本、高可靠的云存储服务。您可以使用COS存储和管理任意类型的文件,包括文本、图片、音视频等。您可以通过COS的API接口来实现文件的上传、下载、复制、删除等操作。了解更多关于腾讯云对象存储(COS)的信息,请访问腾讯云对象存储(COS)产品介绍
  • 腾讯云文件存储(CFS):是一种高性能、可扩展、共享式的文件存储服务。您可以将CFS挂载到云服务器、容器服务等计算资源上,实现文件的共享和访问。您可以使用CFS提供的API接口来实现文件的读写操作。了解更多关于腾讯云文件存储(CFS)的信息,请访问腾讯云文件存储(CFS)产品介绍

通过使用腾讯云的对象存储(COS)和文件存储(CFS),您可以将Python的os.walk()函数遍历到的文件和文件夹存储在云上,实现数据的安全备份和共享访问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

python 文件和路径操作函数小结

1: os.listdir(path) //path为目录  功能相当于在path目录下执行dir命令,返回为list类型  print os.listdir('..')  2: os.path.walk(path,visit,arg)  path :是将要遍历的目录  visit :是一个函数指针,函数圆形为:  callback(arg,dir,fileList)  其中arg为为传给walk的arg , dir是path下的一个目录,fileList为dir下的文件和目录组成的list, arg:传给visit用的  3:os.path.split(path)  path 为一个路径,  输出,把path分成两部分,具体看实例:  print os.path.split("abc/de.txt")  ('abc', 'de.txt')  os.path.split("abc")  (", 'abc')  print os.path.split("de/abc/de")  ('de/abc', 'de')  4: os.path.splitext(filename)  把文件名分成文件名称和扩展名  os.path.splitext(abc/abcd.txt)  ('abc/abcd', '.txt')  5: os.path.dirname(path)  把目录名提出来  print os.path.dirname("abc")  #输出为空  print os.path.dirname('abc\def')  abc  6: os.path.basename(filename)  取得主文件名  print os.path.basename('abc')  abc  print os.path.basename('abc.txt')  abc  print os.path.basename('bcd/abc')  abc #这个需要注意不包括目录名称  print os.path.basename('.')  .  7:os.mkdir(path, [mode])  path为目录名: 这里有个要求,只能创建一级目录  比如path为 abc/def 则当前目录下必须存在abc 否则失败  8: os.makedirs(path [,mode])  可以创建多级目录  9:os.remove(path)删除一个文件,一定是一个文件  os.removedirs(path) 删除一个目录下所有东西  os.rmdir(path) 删除一个目录,而且一定要空,否则os.errer  10:os.walk(path)  遍历path,返回一个对象,他的每个部分都是一个三元组  ('目录x',[目录x下的目录list],目录x下面的文件)  举例:  a = os.walk('.')  for i in a:  print i  11:shutil.copy(src,dst)  把文件src内容拷贝到文件dst中。,目标区域必须可以写,如果dst存在,则dst被覆盖  ――――――――――――――――――  11.1 os.path -- 普通的路径名操作  这个模块实现一些在路径名称上有用的函数。  警告:在 Windows 上,这些函数中的多个不能正确地支持 UNC 路径名。splitunc() 和 ismount() 可以正确地处理它们。  abspath(path)  返回 path 路径名一个规格化的绝对化的版本。在大多数平台上,相当于normpath(join(os.getcwd(), path))。1.5.2版本中的新特性。  basename(path)  返回 path 路径名最底部的名称。这是由 split(path)返回的对的第二半部分。注意这个函数的结果不同于Unix basename 程序;UNIX的 basename对于'/foo/bar/' 返回 'bar',basename() 函数返回一个空字符串('')。  commonprefix(list)  返回最长的路径前缀(采取字符的字符),是 list中所有路径的一个前缀。如果 list 为空,返回空字符串('')。注意可以返回无效的路径因为它每次操作一个字符。  dirname(path)  返回 path 路径名的目录名称。这是由 split(path)返回的对的第一半部分。  exists(path)  如果 path 与一个已存在的路径关联返回True。对于损坏的符号连接返回 False 。在一些平台上,如果权限没有被授予在请求的文件上执行os.stat()这个函数可能返回False,即使该 path 实际上存在。  lexists(path)  如果 path 与一个已存在的路径关联返回 True 。对于损坏的连接返回 True

02

五个python常用运维脚本面试题实例

来源:马哥教育原文作者:chengxuyuan 链接:https://mp.weixin.qq.com/s/nahDVL6aiMQ2vp85wo6nNw一、用Python写一个列举当前目录以及所有子目录下的文件,并打印出绝对路径#!/usr/bin/env pythonimport osfor root,dirs,files in os.walk('/tmp'): for name in files: print (os.path.join(root,name))os.walk()原型为:os.walk(top, topdown=True, onerror=None, followlinks=False)我们一般只使用第一个参数。(topdown指明遍历的顺序)该方法对于每个目录返回一个三元组,(dirpath, dirnames, filenames)。第一个是路径,第二个是路径下面的目录,第三个是路径下面的非目录(对于windows来说也就是文件)二、写程序打印三角形#!/usr/bin/env pythoninput = int(raw_input('input number:'))for i in range(input): for j in range(i): print '*', print '\n'三、猜数器程序随机生成一个个位数字,然后等待用户输入,输入数字和生成数字相同则视为成功。成功则打印三角形。失败则重新输入(提示:随机数函数:random)#!/usr/bin/env pythonimport randomwhile True: input = int(raw_input('input number:')) random_num = random.randint(1, 10) print input,random_num if input == random_num: for i in range(input): for j in range(i): print '*', print '\n' else: print 'please input number again'四、生成磁盘使用情况的日志文件#!/usr/bin/env python#!coding=utf-8import timeimport osnew_time = time.strftime('%Y-%m-%d')disk_status = os.popen('df -h').readlines()str1 = ''.join(disk_status)f = file(new_time+'.log','w')f.write('%s' % str1)f.flush()f.close()五、统计出每个IP的访问量有多少?(从日志文件中查找)#!/usr/bin/env python#!coding=utf-8list = []f = file('/tmp/1.log')str1 = f.readlines() f.close() for i in str1: ip = i.split()[0] list.append(ip) list_num = set(list)for j in list_num: num = list.count(j) print '%s : %s' %(j,num)添加描述n常用运维脚本面试题实例

01
领券