我对使用python编程很新。所以提前道歉: 我有两个python脚本,应该共享变量。此外,第一个脚本(first.py)应该调用第二个脚本(second.py)
first.py:
import commands
x=5
print x
cmd = "path-to-second/second.py"
ou = commands.getoutput(cmd)
print x
second.py看起来像这样
print x
x=10
print x
我希望输出: 五 五 10 10
原则上我需要一种在两个脚本之间进行通信的方法。任何完成这项工作的解决方案都非常好。
感谢您的帮助!
添
答案 0 :(得分:1)
每个python脚本都有自己的根范围,在这种情况下,您将启动另一个完全独立的进程,因此其x
与其他脚本完全不同x
否则每个python脚本都必须有唯一的变量名以避免冲突。
您可能想要做的是在命令行上提供second.py
所需的值。这是一个简单的方法:
first.py:
import commands
x=5
print x
cmd = "path-to-second/second.py " + str(x)
ou = commands.getoutput(cmd)
second.py:
import sys
x = int(sys.argv[1]) # sys.argv[0] is "second.py"
print x
x=10
print x
答案 1 :(得分:1)
在你的second.py中,你会想要这些行
from sys import argv
x = argv[1] #Second argument (starts at 0, which is the script name)
然后你的first.py应该执行second.py,例如
import os
os.system("python second.py " + x)