这不是我的代码的问题,而是关于Python 3的一般问题。
假设你有一个游戏,它有4个部分,第一个部分(main.py
)声明一个变量
也就是说,第2部分需要自己运行。您是否能够声明该变量,然后import part2
(这需要变量平稳运行)并在将main.py
导入后将变量从part2.py
继续到part2.py
main.py
。
答案 0 :(得分:0)
这是一个你可以尝试的简单例子
<强> file1.py 强>
import sys
sys.argv = "Yellow" #probably not a really great Idea but should suffice
from file2 import sys as sys2
print "Imported argv from file2",sys2.argv
print "Same thing? ", sys is sys2
<强> file2.py 强>
import sys
print "My argv f2:",sys.argv
答案 1 :(得分:0)
如果你想这样做就可以使用变量。
# part2.py
def scream():
print(sound)
# part1.py
import part2
if __name__=="__main__":
part2.sound = "Yoooo"
part2.scream()
#Output:
Yoooo
如果您希望以后能够更改变量。 You can create a property
或者干脆就这样做:
# part2.py
# gvars is defined later
def scream():
print(gvars.sound)
# part1.py
import part2
class GameVariables:
pass
if __name__=="__main__":
gvars = GameVariables()
part2.gvars = gvars
gvars.sound = "Yooo"
part2.scream()
gvars.sound = "Whaa"
part2.scream()
#output
Yooo
Whaa