簡體   English   中英

Python從python腳本運行另一個腳本

[英]Python run another script from a python script

def run_cmd(self, cmd):
    print cmd 

    status = os.system(cmd)
    print 'Command ran with Status: %s' % status

    if status:
        s = 'Command Failed: Status: %s for %s' % (status, cmd)
        print s
        sys.exit(status)
    else:
        s = 'Command Success: %s' % cmd 

    return status

我正在使用此函數從另一個腳本運行python腳本。

例如:

command_to_exec = 'python script_b.py'
run_cmd(command_to_exec)

現在,如果script_b.py失敗,則script_a.py會以狀態退出。

沒關系。

案例2

command_to_exec = 'python script_a.py --options'
rum_cmd(command_to_exec)

這種情況是自己運行'python script_a.py'的script_a.py。 在這種情況下,如果新生成的script_a.py失敗,則外部script_a.py仍然成功,因為它無法捕獲內部script_a.py的失敗(因為sys.exit(status))

現在,我該如何處理這種情況? (如果內部script_a失敗,外部script_a應退出)

您可以將其他腳本作為模塊運行。 假設你有這個文件夾:
DIR
| --- main.py
| --- imported.py
你想從第一個開始運行第二個。 只需使用import ,就像那樣:

import imported #the file name without the extension

它將運行該文件,您將能夠在主腳本中使用它的變量和函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM