在Python中调用不同路径下的文件,可以通过以下几种方法实现:
1. 使用`__init__.py`文件:
在需要被导入的文件夹中创建一个空文件`__init__.py`,这样Python会将这个文件夹视为一个包。
在主程序中,使用`from package_name import module_name`的方式导入。
2. 修改`sys.path`:
使用`sys.path.append()`方法将文件的路径添加到`sys.path`中,这样Python就能找到并导入该文件。
3. 使用`os`模块获取路径:
使用`os.path.abspath()`和`os.path.dirname()`函数获取文件的绝对路径或父目录路径,然后根据需求添加到`sys.path`中。
4. 使用相对路径:
在导入语句中使用相对路径引用其他目录下的文件。
下面是一个具体的例子,说明如何在Python中调用不同路径下的文件:
假设你有以下的文件目录结构:
project/
|-- src/
| |-- mod1.py
| |-- mod2.py
| |-- sub/
| |-- test2.py
|-- test/
|-- test1.py
你希望在`test1.py`中导入`src`目录下的`mod1.py`和`sub`目录下的`test2.py`。
在`test1.py`中,你可以这样操作:
import sys
from pathlib import Path
获取当前文件的父目录的父目录
root_path = Path(__file__).parent.parent
将路径添加到sys.path
sys.path.append(str(root_path))
导入mod1.py和test2.py中的函数或类
from src.mod1 import f1, f2
from sub.test2 import B_fun
使用导入的函数或类
f1()
B_fun()
这样,你就可以在`test1.py`中调用`src`和`sub`目录下的Python文件了