我将尝试将列表写入文件。当我使用以下代码时,它会给我一个错误:
with open('list.txt', 'w') as fref :
fref.writelines('{}\n'.format(item for item in item_list))
但是,当我修改这段代码为:
with open('list.txt', 'w') as fref :
for item in item_list :
fref.writelines('{}\n'.format(item))
或
当我使用%格式化字符串时:
with open('list.txt', 'w') as fref :
fref.writelines('%s\n' % item for item in item_list)
它正常工作。我不明白为什么format方法内部的for循环失败了?
{}
是一种基于位置的格式。您不能为一个位置提供多个字符串。如果您检查第三个位置,它与第二个位置相同,您只是向writelines
函数传递多行字符串。 - thuva4'{}\n'.format(item) for item in item_list
。请注意,应用格式化的方式是在生成器表达式内部,而不是反过来。 - MisterMiyagi