可以在不同的文件中设置变量吗?
所以我有两个不同的文件,有点像这样..
import test2
st = 'a'
def main():
mis = input('puts: ')
print tes2.set(mis)
main()
def set(object):
pics = ['''
%s
1st
'''%st,
'''
%s
2nd
''']
return pics[object]
我执行tes1.py并发出错误:
NameError: global name 'st' is not defined
感谢您的回复
答案 0 :(得分:1)
是的,但你真的不想这样做。我将st
作为参数传递给set()
。但是,以下(错误)设置有效:
var = "woo"
import lib
print lib.var
(请注意,仅将lib.py
导入exec.py
无法让我在exec.py
中使用lib.py
中的变量,只能反过来。请考虑如何应用根据你的情况。)
答案 1 :(得分:1)
一些提示:
main()
功能包裹在if __name__ == '__main__'
块中。它可以防止导入的模块执行导入时不应运行的代码。我通常完全取消main()
,只需在if
块中写下我的所有主要代码。object
是内置类型。不要为事物object
命名。同样是set
,因为它也是一种类型。我将如何做到这一点:
<强> test1.py 强>:
import test2
if __name__ == '__main__':
st = 'a'
mis = input('puts: ')
print tes2.rename_me_set(st, mis)
<强> test2.py 强>:
def rename_me_set(st, obj):
pics = ['''
%s
1st
''' % st,
'''
%s
2nd
''']
return pics[obj]