在本地可以通过在pycharm里将文件目录调整为sources root实现。但在服务器里,需要通过如下方式跨文件调用.py文件。
一、同级目录下的调用
程序结构如下:
– src
|-- mod1.py
|-- test1.py
若在程序test1.py中导入模块mod1, 则直接使用
import mod1
#或
from mod1 import *
二、调用子目录下的模块
程序结构如下:
– src
|-- mod1.py
|-- lib
| |-- mod2.py
|-- test1.py
这时看到test1.py和lib目录(即mod2.py的父级目录),如果想在程序test1.py中导入模块mod2.py ,可以在lib件夹中建立空文件__init__.py文件(也可以在该文件中自定义输出模块接口),然后使用:
– src
|-- mod1.py
|-- lib
| |-- init.py
| |-- mod2.py
|-- test1.py
from lib import mod2
#或
import lib.mod2
三、调用上级目录下的文件
程序结构如下:
– src
|-- mod1.py
|-- lib
| |-- mod2.py
|-- sub
| |-- test2.py
这里想要实现test2.py调用mod1.py和mod2.py ,做法是我们先跳到src目录下面,直接可以调用mod1,然后在lib上当下建一个空文件__init__.py ,就可以像第二步调用子目录下的模块一样,通过from lib import mod2进行调用了。具体代码如下:
import sys
import os
#得到当前根目录
o_path = os.getcwd() # 返回当前工作目录
sys.path.append(o_path) # 添加自己指定的搜索路径
import mod1
from lib import mod2
参考:https://blog.csdn.net/xm_csdn/article/details/52211079