将变量名称分配给python中的不同文件

时间:2014-05-15 12:23:19

标签: python python-2.7

我试图在python中同时打开各种文本文件。我想为每个文件分配一个唯一的名称。我尝试了以下但是它不起作用:

for a in [1,2,11]:
    "DOS%s"%a=open("DOS%s"%a,"r")

相反,我得到了这个错误:

SyntaxError: can't assign to operator

这样做的正确方法是什么?

3 个答案:

答案 0 :(得分:3)

总是必须在赋值之前声明名称空间,无论是在语句的前一行还是左侧。无论如何你可以这样做:

files = {f:open("DOS%s" % f) for f in [1,2,11]}
然后

访问以下文件:

files[1].read()

答案 1 :(得分:2)

使用dict:

files = {}
for a in [1,2,11]:
    files["DOS%s"%a] = open("DOS%s"%a,"r")

答案 2 :(得分:0)

您收到错误是因为您尝试将值分配给非变量的内容。这是非常基本的东西,所以我建议你做一些入门编程课程。

当您需要字符串作为查找键时,词典是您的朋友:

files = {}
for a in [1, 2, 11]:
    filename = 'DOS%s' % a
    files[filename] = open(filename, 'r')