我试图在一个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解释器,但是如果我切换到Python2,它就会中断。对于Python2,我使用脚本文件夹中的__init__.py创建了一个工作,但是当我切换回Python3时,它破坏了这个版本。
main.py
/脚本/
脚本2.py (Python2)
脚本3.py (Python3)
有办法做到这一点吗?
谢谢大家。
发布于 2020-08-13 20:04:19
通过下面的目录布局,我想我完成了您想要做的事情:
.
├── 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 (或python3 a.py)运行python a.py。
https://stackoverflow.com/questions/63402016
复制相似问题