关于python3.5.2中的yu init_u.py行为的问题。我注意到了”系统argv“和”import\uu main\uu“根据调用时间的不同,它们的行为会有所不同。例如:
$ tree
└── subdir
├── __init__.py : "import sys; print(sys.argv)"
├── __main__.py : "import sys; print(sys.argv)"
$ python -m subdir
['-m']
['/path/to/code/subdir/__main__.py']
在这里,我出乎意料地措手不及系统argv在整个过程的生命周期中保持一致。我有一个直觉,为什么会发生这种情况,但我想知道是否有任何方法可以在重要时刻知道什么是真实的系统argv在\uuu init_uu.py模块中。在
作为参考,它看起来像是在Lib中改变了argv/runpy.py@_将“模块”作为“主”运行
简短版本:在运行之前,没有办法找到main_uu
长版:
我认为可以将其重构为系统argv是在导入包和祖先之前设置的(我认为是由module specs实现的),但还需要等待对runpy架构的增强,可能是以this的形式出现的,该格式在去年年底就已经开始了。在
相关问题 更多 >
编程相关推荐