簡體   English   中英

您如何將參數傳遞給作為參數傳遞的腳本?

[英]How would you pass arguments to a script being passed as an argument?

基本上是標題,我不知道如何將參數傳遞給在shell命令中作為參數傳遞的腳本。 以下面的命令為例:

$ someexe --arg-for-someexe腳本

somexe將要從scriptA中讀取並執行一堆任務,然后將一些數據吐出到硬編碼到scriptA中的目標文件中。 如何將目標文件作為命令行參數傳遞給scriptA? 在python中,我知道我可以使用sys.argv [i]來獲取參數,但是someexe還將嘗試獲取這些參數並可能導致問題。 我該怎么做?

您可以這樣做:

呼叫者指令碼(scripta.py):

import os
def main(args):
    os.system('python scriptb.py' + ' ' + str(args))

if __name__ == '__main__':
    import sys
    args = sys.argv[1:]
    main(args)

接收方腳本(scriptb.py):

if __name__ == '__main__':
    import sys
    args = sys.argv[1:]
    print(args)

調用腳本-在終端中說:

python scripta.py arg1 42 arg2 43

將在scriptb.py終端中打印:

['[arg1,', '42,', 'arg2,', '43]']

os.system()在單獨的shell /進程中生成它。 可能不是您想要的。

暫無
暫無

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

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