我正在努力解决这个问题。
我有一个这样的列表:
g = ['hey','man','sup']
我想要 3 个不同的文本文件,例如“hey.txt”、“man.txt”、“sup.txt”。
我用过;
f = open('hey.txt','w')
sys.stdout = f
....
但是有没有办法做到这一点?;
for x in range(3):
f = open('g[x].txt','w')
请您参考如下方法:
你快到了
而不是这个
for x in range(3):
f = open('g[x].txt','w')
这样做:
for x in range(3):
f = open(g[x]+'.txt','w')
实际问题是 'g[x].txt' 它是一个字符串,它的值在每次迭代期间都不会改变,而我们使用的是获取 g 元素g[x] 返回一个字符串,然后可以附加 '.txt' 以形成文件名
你可以使用 context manager to open the file object
即)
for x in range(3):
with open(g[x]+'.txt','w') as f:
如果您同时需要索引和值,那么您可以使用 enumerator
即)
for index,value in enumerate(g):
with open(value+'.txt','w') as f:
