[英]Subprocess to open python file and return data
我正在嘗試使用Python打開另一個文件。 該文件將啟動一個套接字,並創建用於偵聽其他連接的線程以及用於發送/接收數據的線程。 主線程不會返回。
但是,如果套接字設置失敗,我想向執行該子進程的其他python腳本返回錯誤代碼。
main.py
py3output = subprocess.check_output(['python3', 'py3.py'])
print('py3 said:' + str(py3output))
py3.py
def returnme():
return 10
returnme()
當我運行它時,它打印:
py3 said:b''
我只是想弄清楚如何將返回值返回給主調用程序。
要將退出代碼 n
返回給操作系統,您需要sys.exit(n)
。 但似乎您不想檢查退出代碼,而是要檢查標准輸出otput。 因此,您的程序可能需要重寫為:
def returnme():
return 10
print(returnme())
您僅應使用以下代碼將字符串作為標准輸出返回:
sample.py
import sys
def returnme():
sys.stdout.write(str(10))
sys.stdout.flush()
returnme()
main.py
from subprocess import check_output
output = check_output(['python','sample.py'])
print('Sample.py says :' + output)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.