我正在尝试编写一个python脚本,它将遍历一个列表,然后将一个新变量传递给另一个python脚本。这是我的代码:
# import necessary modules
import os
# list of all ENCS
root = os.listdir('/home/cassandra/desktop/file_formats/ENC_ROOT')
root.sort()
root = root[2:]
for ENC in root:
# pass new instance of variable 'ENC' to ENCReader.py
import ENCReader.py
from __main__ import *
print ENC
.... # remaining script
目前,在执行第一个代码ENCViewer.py时,它只会执行一次然后退出。如何将“ENC”的新实例变量传递给ENCReader.py,以便它在第一段代码中看到的整个“for”循环中执行?
感谢。
答案 0 :(得分:2)
我不知道你问的是否可能,但我认为你错过了解创建模块和导入代码的想法。 "标准"实现相同结果的方法如下:
ENCReader.py
def printer(var):
print(var)
# your code..
ENCViewer.py
import os
from ENCReader import printer
# list of all ENCS
root = os.listdir('/home/cassandra/desktop/file_formats/ENC_ROOT')
root.sort()
root = root[2:]
for ENC in root:
printer(ENC)