一、Python的os module
在Python中,我们可以使用os module访问文件和文件夹。os module提供了各种功能,包括文件和目录操作、进程管理、环境变量等。
要读取文件夹中的所有文件,我们可以使用os.walk()方法,该方法生成文件夹中所有文件的文件名(包括子文件夹)。
import os for root, dirs, files in os.walk("."): for filename in files: print(os.path.join(root, filename))
这个代码片段将遍历当前目录(".")以及所有子目录,并打印出每个文件的全路径。os.walk()方法返回一个元组,其中包含当前目录的路径、当前目录中子目录的名称以及当前目录中文件的名称。
二、打印文件内容
如果我们想要打印文件的内容,我们需要使用Python中的open()方法打开文件,并使用read()方法读取文件的内容。
import os for root, dirs, files in os.walk("."): for filename in files: with open(os.path.join(root, filename)) as f: print(f.read())
这个代码段将遍历当前目录以及所有子目录,打印每个文件的内容。
三、过滤文件
在大多数情况下,我们只对文件夹中的特定文件感兴趣。为了过滤文件,我们可以使用Python的字符串方法。
import os for root, dirs, files in os.walk("."): for filename in files: if filename.endswith(".txt"): with open(os.path.join(root, filename)) as f: print(f.read())
这个代码段将只打印扩展名为".txt"的文件的内容。
四、输出到文件
有时,我们可能需要将打印的结果保存到文件中。为此,我们可以使用Python的文件对象。
import os with open("output.txt", "w") as out_file: for root, dirs, files in os.walk("."): for filename in files: if filename.endswith(".txt"): with open(os.path.join(root, filename)) as f: out_file.write(f.read())
这个代码段将遍历所有扩展名为".txt"的文件,并将它们的内容写入名为"output.txt"的文件中。