例如:
Files/
main.py
SubFileA/
__init__.py "from util1 import help"
util1.py "def help(): print ...A..."
SubFileB/
__init__.py "from util1 import help"
util1.py "def help(): print ...B..."
并且 SubFileA 和 SubFileB 中的 util1.py 有不同的内容。
我希望有某种方式用户可以指定要导入的 util1.py。
我期待类似的东西:
if subFileA:
from SubFileA import *
else:
from SubFileB import *
util1.py 具有相同的 API,但实现不同。
我这样做的原因是,如果我将两个 util1.py 组合在一起,代码会变得丑陋且难以维护。希望任何人都可以给我一个解决方案,或者任何建议都会很棒!
我尝试了这些代码,但收到了警告(它确实有效,但警告令人尴尬):
main.py:4: SyntaxWarning: import * only allowed at module level
def main():
main.py:4: SyntaxWarning: import * only allowed at module level
def main():
每个人。我想我找到了解决方案。但我认为这不是好的编程风格。
Files/
main.py "from directory import *"
directory/
__init__.py
"user=raw_input()
if user:
from directoryA import *
else
from directoryB import * "
directoryA/
__init__.py "from util1 import help1()"
util1.py
directoryB/
__init__.py "from util1 import help1()"
util1.py
确实,这看起来很奇怪。但它完成了这项工作。