Pet*_*r B 5 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,但这不是我想要的.我不想要标志的值;我想要在命令行中使用的实际字符串设置这些标志).
一种可能的解决方案是手动生成标志字符串。
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()
Run Code Online (Sandbox Code Playgroud)
编辑:-R如果您的 python 版本低于2.7.3.