gpt4 book ai didi

python - 从子目录python导入类

转载 作者:行者123 更新时间:2023-11-28 17:20:15 27 4
gpt4 key购买 nike

我一直在尝试导入一些在子目录中定义的 python 类。目录结构如下:

workspace/
__init__.py
main.py
checker/
__init__.py
baseChecker.py
gChecker.py

baseChecker.py 看起来类似于:

import urllib
class BaseChecker(object):
# SOME METHODS HERE

gChecker.py 文件:

import baseChecker # should import baseChecker.py
class GChecker(BaseChecker): # gives a TypeError: Error when calling the metaclass bases
# SOME METHODS WHICH USE URLLIB

最后是 main.py 文件:

import ?????
gChecker = GChecker()
gChecker.someStuff() # which uses urllib

我的意图是能够运行main.py 文件并调用实例化checker/ 目录下的类。但我想避免从每个文件导入 urllib(如果可能的话)。

请注意,__init__.py 都是空文件。

我已经尝试在 main.py 中调用 from checker.gChecker import GChecker 但是 ImportError: No module named checker.gChecker 显示.

最佳答案

在发布的代码中,在gChecker.py中,你需要做

from baseChecker import BaseChecker

代替 import baseChecker否则你会得到

NameError: name 'BaseChecker' is not defined

此外,对于上述文件夹结构,您不需要 checker 模块位于 PYTHONPATH 中,以便 main.py 可见>然后在 main.y 中你可以这样做:

from checker import gChecker.GChecker

关于python - 从子目录python导入类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41962861/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com