首页 >后端开发 >Python教程 >如何递归读取Python文件夹中的文件并写入内容?

如何递归读取Python文件夹中的文件并写入内容?

Barbara Streisand
Barbara Streisand原创
2024-10-18 14:39:02602浏览

How to Recursively Read Files and Write Content in Python Folders?

Python 中的递归文件夹读取

在 Python 中,查找目录和文件等操作系统操作可以通过 os 模块完成。要从文件夹结构中的文件中递归读取内容,我们可以利用 os.walk。

下面的代码片段说明了如何递归地探索文件夹及其子目录,打开文本文件来读取其内容:

<code class="python">import os

def read_folder_recursively(rootdir):
    for root, subdirs, files in os.walk(rootdir):
        for folder in subdirs:
            # Define the output file path within the current subfolder
            outfileName = os.path.join(root, folder, "py-outfile.txt")
            with open(outfileName, 'w') as folderOut:
                print("outfileName is " + outfileName)
                for file in files:
                    filePath = os.path.join(root, file)
                    with open(filePath, 'r') as f:
                        toWrite = f.read()
                        print("Writing '" + toWrite + "' to" + filePath)
                        folderOut.write(toWrite)
                    f.close()
            folderOut.close()</code>

以下是改进代码的详细说明:

  • 使用 os.path.join 来连接路径而不是字符串添加。
  • 使用 with 语句打开文件正确的文件处理。
  • 确保正确的缩进和变量名称以保持代码的可读性。
  • 消除在初始代码中导致问题的不必要的循环。

此更新代码正确处理多个文件夹深度,在每个子文件夹中动态创建输出文件,并有效地将文本文件中的内容写入输出文件。

以上是如何递归读取Python文件夹中的文件并写入内容?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn