我试图在python中同时打开各种文本文件。我想为每个文件分配一个唯一的名称。我尝试了以下但是它不起作用:
for a in [1,2,11]:
"DOS%s"%a=open("DOS%s"%a,"r")
相反,我得到了这个错误:
SyntaxError: can't assign to operator
这样做的正确方法是什么?
答案 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')