我只想能够通过执行 func2B.py 和执行 main.py(main.py 执行 func2B.py)来执行文件 func2B.py。
当我尝试这样做时,我会收到几个错误,例如“没有名为...的模块”或“未定义 func3”,具体取决于我在不同的init .py 文件中插入的内容。我尝试了许多不同导入的组合,但我不知道如何正确设置导入。
我使用 python 3.6 和 Win10 机器。
我有以下文件结构:
folder1\
__init__.py # empty file
main.py
func1.py
folder2\
__init__.py # empty file
func2.py
func2B.py
folder3\
__init__.py # empty file
func3.py
main.py 的内容:
import func1
func1.main()
# [works] execute function (func2) stored in another folder (folder2)
import folder2.func2
folder2.func2.main()
# [works] execute function (func2) stored in another folder (folder3)
import folder2.folder3.func3
folder2.folder3.func3.main()
# [doesn't work] execute function (func2B) stored in another folder (folder2)
# [doesn't work] the function (func2B) calls another function (func3)
import folder2.func2B
folder2.func2B.main()
func1.py 的内容
def main():
print('executing func1')
if __name__ == '__main__':
main()
func2.py 的内容
def main():
print('executing func2')
if __name__ == '__main__':
main()
func2B.py 的内容
def main():
print('executing func2B, which executes func3')
func3.main()
if __name__ == '__main__':
main()
func3.py 的内容
def main():
print('executing func3')
if __name__ == '__main__':
main()
HUWWW
精慕HU
相关分类