我正在尝试在单个 python 脚本中有条件地执行两个 python 脚本,就像这样。
# main.py
import sys
if sys.version_info[0] > 2:
from scripts.script3 import script3
script3()
else:
from scripts.script2 import script2
script2()
此版本适用于 Python3 解释器,但如果我切换到 Python 2,它会中断。对于 Python2,我__init__.py
在脚本文件夹中使用 a 创建了一个解决方法,但是当我切换回 Python3 时,它破坏了该版本。
main.py
/scripts/
├── script2.py (Python2)
└── script3.py (Python3)
有没有办法实现这一目标?
谢谢大家。
通过以下目录布局,我想我完成了你想做的事情:
.
├── app
│ ├── __init__.py
│ └── a.py
└── scripts
├── __init__.py
├── b.py
└── c.py
% python3 -m app.a
Hello, Python 3!
% python -m app.a
Good day, Python 2.
app/a.py
看起来像这样:
import sys
if sys.version_info[0] > 2:
from scripts.b import fun
else:
from scripts.c import fun
fun()
编辑:如果你想完全最小化,以下似乎也有效:
.
├── a.py
└── scripts
├── __init__.py
├── b.py
└── c.py
然后你就可以a.py
用python a.py
(或python3 a.py
)运行了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句