list - 使用 Python 复制多个文件的内容并粘贴到主文件中

我将首先提到我对Python一无所知,但在网上阅读它可以帮助我解决我的情况。

我想使用(我相信?)一个 Python 脚本做一些事情。我有一堆 .yml 文件,我想将其内容传输到一个主 .yml 文件(我们称之为 Main.yml)。但是,我还希望能够取每个单独的 .yml 的名称,并将其作为“##Name”的内容添加到 Main.yml 中。如果可能的话,脚本看起来像目录中的每个文件,而不是必须 list 我希望它查找的每个 .yml 文件(我的目录只包含 .yml 文件)。不确定是否需要指定,但以防万一:我想将所有文件的内容附加到 Main.yml 并保留缩进(间距)。附言我在 Windows 上

我想要的示例:

  • 文件:Apes.yml
  • 内容:
Documentation:
  "Apes":
    year: 2009
    img: 'link'

运行脚本后,我的 Main.yml 想要:

##Apes.yml
Documentation:
  "Apes":
    year: 2009
    img: 'link'

回答1

我也刚从 Python 开始,所以这是一个很好的机会来看看我新学到的技能是否有效!

我想你想使用 os.walk 函数来浏览目录中的所有文件和文件夹。

此代码应该可以工作 - 它假定您的文件存储在一个名为“文件夹”的文件夹中,该文件夹是存储 Python 脚本的子文件夹

# This ensures that you have the correct library available
import os

# Open a new file to write to
output_file = open('output.txt','w+')

# This starts the 'walk' through the directory
for folder , sub_folders , files in os.walk("Folder"):

    # For each file...
    for f in files:
        # create the current path using the folder variable plus the file variable
        current_path = folder+"\\"+f

        # write the filename & path to the current open file
        output_file.write(current_path)

        # Open the file to read the contents
        current_file = open(current_path, 'r')

        # read each line one at a time and then write them to your file
        for line in current_file:
            output_file.write(line)

        # close the file
        current_file.close()

#close your output file
output_file.close()

相似文章

最新文章