如果我有如下脚本'sp_test.py':
import sys
def sp_test(a=0,b=0,c=0):
print(a)
print(b)
print(c)
return str(a)+str(b)+str(c)
if __name__ == "__main__":
sp_test(sys.argv[1],sys.argv[2],sys.argv[3])
如果我想从另一个python脚本中调用它,我可以使用:
import sys
import subprocess
subprocess.call([sys.executable, 'sp_test.py', '1','2','3'])
但是我希望输出是:
1
2
3
123
输出实际上是:
1
2
3
0
这是为什么?
[我在尝试从另一个python脚本调用此脚本的方法时注意到了这一点-返回值似乎不正确-这是预期的行为吗?如果是,为什么?
似乎您根本不打印最后一个值如果要打印,则需要更改此功能:
def sp_test(a=0,b=0,c=0):
print(a)
print(b)
print(c)
values = str(a)+str(b)+str(c)
print(values)
return values