如何循环字典并将键的名称作为输出文件的名称?

2024-05-02 11:03:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我想循环一个字典,为字典中的每个键生成一个输出文件,并使用该键作为输出文件的名称。这就是我所尝试的:

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)

Tags: 文件inpostxt名称idhomefor
3条回答

使用^{}。您应该使用write模式(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))

与其将文件名的三个部分作为独立的参数提供给open,不如使用以下任何常用方法将它们连接在一起:

import os.path
open(os.path.join("/home", "%s_candMuts.txt" % id)

最好不要使用id作为名称,因为它也是一个内置函数。你知道吗

  ofh = open("/home/%d_candMuts.txt"%id, "w")

相关问题 更多 >