如何使用 'for' 循环将新变量传递给 python 脚本
How to pass a new variable to python script using 'for' loop
我正在尝试编写一个 python 脚本,它将遍历一个列表,然后将一个新变量传递给另一个 python 脚本。这是我的代码:
脚本:ENCViewer.py
# 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
脚本:ENCReader.py
from __main__ import *
print ENC
.... # remaining script
目前执行第一个代码ENCViewer.py时,只会执行一次然后退出。如何将 'ENC' 的新实例变量传递给 ENCReader.py,以便它在第一段代码中看到的整个 'for' 循环中执行?
谢谢。
我不知道你问的是否可行,但我认为你没有理解创建模块和导入代码的想法。 "standard" 实现相同结果的方法如下:
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)
我正在尝试编写一个 python 脚本,它将遍历一个列表,然后将一个新变量传递给另一个 python 脚本。这是我的代码:
脚本:ENCViewer.py
# 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
脚本:ENCReader.py
from __main__ import *
print ENC
.... # remaining script
目前执行第一个代码ENCViewer.py时,只会执行一次然后退出。如何将 'ENC' 的新实例变量传递给 ENCReader.py,以便它在第一段代码中看到的整个 'for' 循环中执行?
谢谢。
我不知道你问的是否可行,但我认为你没有理解创建模块和导入代码的想法。 "standard" 实现相同结果的方法如下:
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)