我有一個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