如何在Python中更改不同目录中的多个文件

时间:2015-03-21 15:24:52

标签: python file python-3.x directory append

我正在使用Python作为我的编程语言,我只是想知道是否有任何可能的方法来更改不同目录中的多个文件,而无需手动指定每个目录。

例如,我在2个不同的目录中有2个文件。文件1位于&data; file / fileOne / file.txt'和文件2在" data / fileTwo / file.txt'中。文件一中的文字是“Hello-I-am-a-file'文件二中的文字是' Hello-I-am-file-two'。

如何使用尽可能少的代码向两个文件添加内容。

3 个答案:

答案 0 :(得分:0)

我认为您可以使用glob模块。

import glob
filelist = glob.glob(".../data/")

这将为您提供数据文件夹中存在的文件列表。 这个glob模块对您有用:

  

我基本上都在询问如何扫描某个目录中的文件名。所有文件都是相同的名称,因此如何扫描数据'找到文件的文件夹并附加它们!

至于

  

尽可能少的代码

,我认为常规方式最适合你。

注意:如果您现在可以更详细地指定问题,则更容易回答。例如,您是否只想更改这两个文件,或者是否要将其概括为更大的问题?您目前的代码是什么?您希望避免做什么?

答案 1 :(得分:0)

我认为os.walk是此处的解决方案之一。它可以递归地查找子目录中的文件。试试这个:

files_list = [os.path.join(folder,i) for folder, subdirs, files in os.walk('/path/to/data/') for i in files]

files_list将以绝对路径在data文件夹中递归包含所有文件。现在您可以搜索该列表中的文件。

答案 2 :(得分:0)

Glob可能是要走的路,它使用与命令行文件规范大致相同的语法,因为允许使用通配符。所以你可以这样做:

import glob
files=glob.glob("data/file*/*.txt")
for file in files:
    do_thing(file)