💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
常会遇到的一个情景是在GitHub上下载了一个repo,在其他地方使用它。 ```py import sys sys.path.append(绝对路径字符串) ``` Python 相对导入与绝对导入,这两个概念是相对于包内(含有`__init__.py`文件)导入而言的。包内导入即是包内的模块导入包内部的模块。 **相对导入:** ```py from . import some_class #本包 from ..some_package import some_function #上一层的some_package包 ``` **绝对导入:** ```py from package1 import module1 from package1.module2 import function1 from package2 import class1 from package2.subpackage1.module5 import function2 ``` 注意:即使在一个包内,也不能直接`import A`,而是要`from . import A`或者`from package_name import A` 例如: ``` thing ├── books │ ├── adventure.py │ ├── history.py │ ├── horror.py │ ├── __init__.py │ └── lovestory.py ├── furniture │ ├── armchair.py │ ├── bench.py │ ├── __init__.py │ ├── screen.py │ └── stool.py └── __init__.py ``` 那么如果在 stool 中引用 bench,则有如下几种方式: ```py from . import bench # 此为 relative import from furniture import bench # 此为 absolute import ```