【发布时间】:2016-11-09 12:24:38
【问题描述】:
我有一个python“client.py”脚本如下:
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 时做错了什么。请帮助我缺少什么。
【问题讨论】:
-
为什么要在子进程中调用另一个脚本,而不是简单地
importing 并重用其功能? -
@jonrsharpe 实际上我不知道该怎么做你能告诉我怎么做
标签: python python-2.7 subprocess