我从之前创建的单独文件中导入了一个函数。在其中我将变量声明nums
为nonlocal
,然后使用它。因此,在这种情况下,我会给你一段我的代码和我的错误。
cwd = os.getcwd()
sys.path.append(os.path.abspath(cwd + "/myfunctions"))
from opening_questions import opening_questions
def runing_app():
nums = []
opening_questions()
def core_app(jpm):... # this is what I am trying to execute from all this.
for jpm in nums:
core_process = multiprocessing.Process(target=core_app, args=(jpm,))
core_process.start()
print('RAN')
break
runing_app()
在opening_questions()
我声明nonlocal nums
并尝试nums
在我的函数内部使用。这是我得到的错误:
Traceback (most recent call last):
File "/home/gdfelt/Python projects/test versions/test(current work)/testX.py", line 22, in <module>
from opening_questions import opening_questions
File "/home/gdfelt/Python projects/test versions/test(current work)/myfunctions/opening_questions.py", line 19
nonlocal nums
SyntaxError: no binding for nonlocal 'nums' found
在我从一个单独的文件运行它之前,这段代码运行得很好。我需要什么才能使此代码正常工作? 我正在使用 python 3.5 - 如果您需要澄清,请询问。