如何将文本粘贴到python中的文件列表中

时间:2014-02-07 09:56:03

标签: python file

下面是我的文件列表。每个文件都以可写模式打开并压缩文本。 我的目标是将每个文本传输到压缩文件中。

file_list=[(<open file 'x', mode 'w' at 0x028F5758>, 'hi friend'), (<open file 'x', mode 'w' at 0x02943020>, 'whats your name?'), (<open file 'x', mode 'w' at 0x02943078>, 'you welcome')]

我的尝试:

paste_texts=[x[0].write(x[1]) for x in file_list]
print [open('x', 'r').read() for x in paste_texts]

输出:

['', '', '']

我检查了我的C盘上的文件,它们是空的,没有动过。有关如何将每个文本传输到相邻文件的任何建议吗?

1 个答案:

答案 0 :(得分:1)

对此使用列表推导没有意义。

使用简单的for循环:

file_names = 'hi_file.txt', 'name_file.txt', 'welcome_file.txt'
my_strings = 'hi friend', 'whats your name', 'you welcome'

for (text, fname) in zip(my_strings, file_names):
    with open(fname, 'w') as f:
        f.write(text)

编辑(参见评论):

for (text, f) in zip(my_strings, file_list):
    f.write(text)