我在Python中有以下项目结构(表示我有n个crawler_upy文件)
project
├── crawlers
│ ├── __init__.py
│ ├── crawler_1.py
│ ├── crawler_2.py
│ ...
│ ├── crawler_n.py
│ └── useful_functions.py
├── main.py
└── __init__.py
我需要将所有爬虫程序从爬虫程序导入主爬虫程序,所以我使用这个
# main.py
from crawlers import crawler_1
from crawlers import crawler_2
...
from crawlers import crawler_n
但是我还需要所有crawler_uupy文件中的useful_functions.py
,所以我在每个文件中都使用它
# crawler_.py
import useful_functions
但是当我运行main.py
时,当它试图导入爬虫程序1时,我得到了ModuleNotFoundError: No module named 'useful_functions'
所以我尝试了以下方法
# crawler_.py
from crawlers import useful_functions
当我运行main.py
时,它就会工作。问题是我可能只想直接运行一个爬虫程序。使用最后一个import语句,我得到ModuleNotFoundError: No module named 'crawlers'
。不知道如何解决这个问题,如果代码中有什么东西我应该调整,或者如果我使用的结构是根本错误的(我完全可以调整项目结构)
您可以在
crawler_n.py
中使用此选项__name__ == '__main__'
检查模块是否被调用或导入,从而相应地进行导入相关问题 更多 >
编程相关推荐