我正在使用Python作为我的编程语言,我只是想知道是否有任何可能的方法来更改不同目录中的多个文件,而无需手动指定每个目录。
例如,我在2个不同的目录中有2个文件。文件1位于&data; file / fileOne / file.txt'和文件2在" data / fileTwo / file.txt'中。文件一中的文字是“Hello-I-am-a-file'文件二中的文字是' Hello-I-am-file-two'。
如何使用尽可能少的代码向两个文件添加内容。
答案 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)