如何遍历变量列表作为文件路径的一部分?

时间:2019-04-25 04:41:14

标签: python

我需要遍历一系列相同的目录,并将每个目录中的两个.txt文件合并为一个文件。

我尝试使用列表(包括部分列表,总共约1000个目录),但是Python一直将列表变量解释为文件路径中的文本。

import os
for subject in ['100307', '100408', '101107']:
    os.chdir("/Users/me/Desktop/SubjPerformance/(subject)")

    filenames = ['0bk_nlr.txt', '2bk_nlr.txt']

    with open('all_bk_nlr', 'w') as outfile:
        for fname in filenames:
            with open(fname) as infile:
               outfile.write(infile.read())

我一直遇到的错误是:

FileNotFoundError: [Errno 2] No such file or directory: '/Users/me/Desktop/SubjPerformance/(subject)'

很显然,(主题)不是文件路径的一部分。我希望它从列表中取出一个项目,但是它正在将我想成为列表变量的内容解释为文本。

我确定这也可以通过通配符完成,该通配符贯穿/ SubjPerformance中的每个子目录,但我不知道如何构建该循环。

感谢您的帮助,对于这个愚蠢的问题表示抱歉-我是神经科学研究员,而不是开发人员!

2 个答案:

答案 0 :(得分:1)

您使用了不正确的语法,请使用

"/Users/me/Desktop/SubjPerformance/%s" % subject

"/Users/me/Desktop/SubjPerformance/{}".format(subject) 

相反。

答案 1 :(得分:0)

要在字符串中使用变量,可以使用"/Users/me/Desktop/SubjPerformance/%s" % subject。您可以了解有关字符串格式here的更多信息。