如何访问python命令行选项(不是args)

时间:2017-04-28 01:05:23

标签: python command line

调用python程序的命令行类似于:

$ python [python_options] myprogram.py [args]

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

我不经常使用python_options,但有时候它很有用,例如-u(无缓冲输出)或-3(检查python3不兼容性)。

确切地说,我想创建一个子进程,这是另一个python程序,我想传递它相同的python_options。 (我知道sys.flags,但这不是我想要的。我不想要标志的值;我想要在命令行中使用的实际字符串来设置这些标志。)

1 个答案:

答案 0 :(得分:0)

一种可能的解决方案是手动生成标志字符串。

foreach(x = DIVIDERS, .export=) %dopar% {
     for( y in listOfFiles ) {
           print( paste( x,  y, sep = "" ) )

请参阅Python Docs for sys.flags

编辑:如果您的python版本低于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() ,则应在此处删除标记-R