我有一个python “client.py” 脚本如下:如何从不同的python脚本调用python脚本?
import sys
import traceback
import client_new
import subprocess
def main():
print "inside client"
subprocess.Popen('C:/client_new.py',shell=True)
#execfile('client_new.py')
if __name__ == "__main__":
is_sys_exit = False
ret_val = 0
try:
ret_val = main()
except SystemExit:
is_sys_exit = True
except:
if not is_sys_exit:
print(traceback.format_exc())
if sys.version_info < (3,0):
raw_input("Press return to continue")
else:
input("Press return to continue")
sys.exit(1)
if is_sys_exit:
print("SystemExit Exception was caught.")
sys.exit(ret_val)
的client_new.py脚本如下:
import traceback
def main():
print "inside client new"
if __name__ == "__main__":
is_sys_exit = False
ret_val = 0
try:
ret_val = main()
except SystemExit:
is_sys_exit = True
except:
if not is_sys_exit:
print(traceback.format_exc())
if sys.version_info < (3,0):
raw_input("Press return to continue")
else:
input("Press return to continue")
sys.exit(1)
if is_sys_exit:
print("SystemExit Exception was caught.")
sys.exit(ret_val)
所以,从client.py还有另外一个剧本client_new。 py被使用子进程调用,但是当client.py被执行时,它只打印它的数据并且不显示client_new的打印。因此,我不知道我在做什么错误的client_new.py的调用。请帮助我失踪。
为什么要在子进程中调用另一个脚本,而不是简单地'导入'并重新使用它的功能? – jonrsharpe
@jonrsharpe其实我不知道该怎么做,请你告诉 – Learner