【发布时间】:2016-07-04 19:01:34
【问题描述】:
我在系统中打开了两个文件。用户给出一些输入,然后脚本选择要关闭的文件。 我必须关闭其中一个文件。
但是,我稍后有一个 for 循环。由于我不知道哪个文件将保持打开状态,并且我需要遍历其中一个文件的行和列,所以我想知道是否有一种方法可以动态放置迭代器(这将是文件)。
代码如下:
with open("file1.csv","r") as a, open ("file2.csv","r") as b:
read_file_no_1 = csv.reader(a); read_file_no_2 = csv.reader(b)
Question=input(Questions[0]).title()
if Question =='something': read_file_no_1.close()
elif Question == 'something_else': read_file_no_2.close()
else: print("Nul")
for i,x,y in zip(range(1,23),read_file_no_2,_file_no_1):
Question=input(Questions[i].format(Question,x))
if any(iterator in Question.split() for iterator in (x,y)):
print(Question)
else:
print("{} {}".format(str(Question),"unknown")
任何帮助将不胜感激。
谢谢。
主芯片
编辑:
我已经上传了整个代码。它不漂亮,它是为了证明概念。
【问题讨论】:
-
我完全看不懂你的zip逻辑,
read_file_no_2nandread_file_no_1是什么? -
这不是“代码”。它是代码的部分。我在那里看不到任何文件,也看不到关闭文件的操作。请提供一个更完整的示例,说明您正在做什么、您尝试的解决方案以及它是如何“不起作用”的。
-
read_file_no_1 和 2 是文件。范围部分只是为了它从列表中选择相应的元素。
-
@Padraic Cunningham 该脚本适用于对象。
-
所以用户选择了一个文件,而您想要关闭它并遍历另一个文件?
标签: python python-3.x csv for-loop iterator