我想循环遍历字典并为字典中的每个键创建一个输出文件,并使用该键作为输出文件的名称。这就是我试过的:
for id, pos in PNposD.iteritems():
print id, 'id'
print pos, 'pos'
ofh = open("/home/",id,"_candMuts.txt")
ofh.write("%d\n" % (pos))
这是我在尝试打开输入文件的行中得到的错误消息(第4行):
TypeError: file() takes at most 3 arguments (4 given)
答案 0 :(得分:5)
使用str.format
。您应该使用写入模式(w
)打开文件,以便向文件写入内容。
for id, pos in PNposD.iteritems():
print id, 'id'
print pos, 'pos'
with open("/home/{}_candMuts.txt".format(id), 'w') as ofh:
ofh.write("%d\n" % (pos))
答案 1 :(得分:0)
ofh = open("/home/%d_candMuts.txt"%id, "w")
答案 2 :(得分:0)
不是将文件名的三个部分作为open
的单独参数,而是通过任何常用方法将它们连接在一起:
import os.path
open(os.path.join("/home", "%s_candMuts.txt" % id)
最好不要使用id
作为名称,因为它也是一个内置函数。