python遍历目录文件
❶ python中如何遍历指定目录下的所有文件
例如:在C:\TDDOWNLOAD目录下有a.txt、b.txt两个文件,另有\sub1子文件夹,C:\TDDOWNLOAD\sub1下又有c.txt、d.txt两个文件。
1. os.walk
os.walk()返回一个三元素的tuple:当前路径、子文件夹名称、文件列表。
>>> import os
>>> def fun( path ):
... for root, dirs, files in os.walk( path ):
... for fn in files:
... print root, fn
...
>>> fun( r'C:\TDDOWNLOAD' )
C:\TDDOWNLOAD a.txt
C:\TDDOWNLOAD b.txt
C:\TDDOWNLOAD\sub1 c.txt
C:\TDDOWNLOAD\sub1 d.txt
>>>
2. glob.glob
glob.glob()只接受一个参数,这个参数既代有路径,又代有匹配模式,返回值为一个列表。注意,glob.glob()无法直接穿透子文件夹,需要自己处理:
>>> def fun( path ):
... for fn in glob.glob( path + os.sep + '*' ): # '*'代表匹配所有文件
... if os.path.isdir( fn ): # 如果结果为文件夹
... fun( fn ) # 递归
... else:
... print fn
...
>>> fun( r'C:\TDDOWNLOAD' )
C:\TDDOWNLOAD\a.txt
C:\TDDOWNLOAD\b.txt
C:\TDDOWNLOAD\sub1\c.txt
C:\TDDOWNLOAD\sub1\d.txt
>>>
'*'为匹配模式,代表匹配所有文件,只有这样才能将子文件夹查出来,以便递归深入,探查下一层的文件。
❷ python中如何遍历指定目录下的所有文件
Python中使用os模块遍历指定目录下的所有文件:
1. 导入os模块:
Python的os模块提供了大量与操作系统交互的函数。为了遍历指定目录下的所有文件,首先需要导入这个模块。
2. 使用os.walk函数:
os.walk是一个生成器,可以遍历指定目录及其子目录下的所有文件和文件夹。该函数返回一个三元组,包含当前目录路径、当前目录下的子目录列表以及当前目录下的文件列表。通过递归调用os.walk,可以遍历整个目录结构。
3. 遍历文件:
在os.walk生成的每个三元组中,可以分别处理目录和文件。例如,如果想获取某个目录下的所有文件的路径,可以直接处理os.walk返回的每个三元组中的文件列表。下面是一个简单的示例代码:
python
import os
def traverse_files:
for root, dirs, files in os.walk:
for file in files: # 遍历当前目录下的所有文件
print) # 输出文件的完整路径
在这段代码中,`traverse_files`函数接受一个目录作为参数,然后使用os.walk遍历该目录及其子目录中的所有文件。对于每个文件,使用os.path.join函数将目录路径和文件名合并,得到文件的完整路径并打印出来。
这种方法不仅适用于普通的文件,还能处理目录中的子目录及其文件。需要注意的是,如果要处理大量的文件或深层目录结构,可能要考虑处理效率和资源消耗的问题。另外,当遍历的目录中存在某些特殊文件或不可访问的文件时,程序可能会抛出异常,需要根据实际情况进行适当的异常处理。
❸ 用Python遍历指定文件夹下所有文件
使用Python遍历指定文件夹下所有文件,主要依赖于os.walk(folder)函数。假设我们有一个名为base的文件夹,包含4个文件和两个子文件夹,子文件夹中各含3个文件。现在我们想获取该文件夹及其子文件夹中的所有文件名称。
基本操作:遍历base文件夹中的所有文件名称。
示例脚本运行结果展示。
虽然获取了文件名称,但未包含路径信息,无法直接打开文件。因此,需对遍历结果稍作修改。
示例脚本运行结果展示。
此时,即可在脚本中进行文件操作。
若需找出特定类型的文件,如所有Excel文件(后缀名.xls),可用正则表达式简化匹配逻辑。
实例脚本运行结果展示。
对于特定文件名匹配需求,如找出包含数字的文件名,正则表达式同样适用。
实例脚本运行结果展示。
关于for root, ds, fs in os.walk(base):的解释,os.walk(base)返回可迭代对象,用于循环遍历文件夹结构。每次循环返回一个元组,包含root(当前路径)、ds(当前路径下的子文件夹列表)和fs(当前路径下的文件列表)。
os.walk(base)过程直观,遍历结构简单明了。ds变量主要用于文件夹名称,除非需要额外操作,否则通常不使用。
以上内容适用于Python文件操作基础,希望对您的文件管理任务有所帮助。