-1

我正在尝试script2使用script1并包含闭包execfilescript2

脚本1.py

MyVar1 = 'value1'


def fun1():
    print(MyVar1)


def fun2():
    execfile('script2.py')

fun1()
fun2()

脚本2.py

MyVar2 = 'value2'


def fun1():
    print(MyVar2)


fun1()

发生错误

  File "...script1.py", line 12, in <module>
    fun2()
  File "...script1.py", line 9, in fun2
    execfile('script2.py')
  File "script2.py", line 8, in <module>
    fun1()
  File "script2.py", line 5, in fun1
    print(MyVar2)
NameError: global name 'MyVar2' is not defined

如何修复script1仍在使用execfile

更新

如果是不可能的,execfile那怎么办?

4

1 回答 1

-1
MyVar2 = 'value2'

def fun1():
    global MyVar2
    print(MyVar2)

fun1()

修复实际上需要在脚本 2 中完成。

于 2018-04-02T22:08:09.460 回答