簡體   English   中英

我如何訪問 python 命令行選項(不是 args)

[英]How do I access python command line options (not args)

調用 python 程序的命令行如下所示:

$ python [python_options] myprogram.py [參數]

我知道我可以訪問 args (sys.argv),但是如何訪問 python_options?

我不經常使用 python_options,但有時它很有用,例如 -u(無緩沖輸出)或 -3(檢查 python3 不兼容)。

准確地說,我想創建一個子進程,它是另一個 python 程序,我想將相同的 python_options 傳遞給它。 (我知道 sys.flags,但這不是我想要的。我不想要標志的值;我想要在設置這些標志的命令行中使用的實際字符串)。

一種可能的解決方案是手動生成標志字符串。

import sys

def getFlags():
    flags = ['-d', '-3', '-Q', '-Qnew', '-i', '-i', '-O',
             '-B', '-s', '-S', '-E', '-t', '-v', '-U', '-b', '-R']
    return ' '.join({s for s, f in zip(flags, sys.flags) if f})

print getFlags()

有關sys.flags的信息,請參閱Python文檔

編輯:如果您的python版本低於2.7.3則應刪除標志-R

以簡單的方式,首先安裝 cli-args-system

windows: pip install cli-args-system 
linux:  pip3 install cli-args-system 

from cli_args_system import Args
args = Args()
flags = args.flags()
print(flags)

暫無
暫無

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

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