要实现Python遍历子文件和所有子文件夹的功能,需要借助os
模块和os.walk()
函数。下面是详细的攻略步骤:
步骤一:导入模块
使用Python自带的os
模块,可以通过以下命令导入:
import os
步骤二:选择路径
首先需要选择想要遍历的文件夹的路径。假设遍历的路径为/Users/username/FolderName
,通过以下代码获取路径:
path = '/Users/username/FolderName'
步骤三:遍历文件及子文件夹
使用os.walk()
函数可以遍历指定路径及其所有子文件,返回一个三元组(dirpath, dirnames, filenames)
,分别表示目录路径,文件夹名字,文件名字。
import os
path = '/Users/username/FolderName'
for dirpath, dirnames, filenames in os.walk(path):
for filename in filenames:
# 处理每一个文件
pass
以上代码将遍历路径为/Users/username/FolderName
的文件夹及其子文件夹,对于每个文件,分别调用一次for filename in filenames: #处理每一个文件
。
示例一:输出目标文件夹下所有文件及文件夹名称
接下来,我们使用一个示例代码,来实现在目标文件夹下,输出所有文件及文件夹名称的代码实例:
import os
path = '/Users/username/FolderName'
for dirpath, dirnames, filenames in os.walk(path):
for filename in filenames + dirnames:
print(os.path.join(dirpath, filename))
这段代码的意义在于,首先获取路径,然后遍历每个文件及子文件夹,将子文件夹和文件夹中所有文件和子文件夹的路径都使用os.path.join()
拼接起来,并输出路径。
示例二:寻找指定扩展名的文件
下面在示例一的基础上,增加一个寻找指定扩展名的文件的功能。假设我们要寻找所有txt
文件,可以通过以下代码实现:
import os
path = '/Users/username/FolderName'
for dirpath, dirnames, filenames in os.walk(path):
for filename in filenames:
if filename.endswith('.txt'):
print(os.path.join(dirpath, filename))
以上代码将只输出扩展名为txt
的文件路径。这里使用了filename.endswith('.txt')
函数来判断是否文件名是否以txt
结尾。
综上所述,通过以上代码的实现,可以轻松地实现Python遍历子文件和所有子文件夹的功能。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 遍历子文件和所有子文件夹的代码实例 - Python技术站