python添加模块路径_为python添加模块路径

├── Ipy

│ ├── bin

│ │ ├── bin.py

│ │ └── __init__.py

│ ├── test

│ │ ├── calculation.py

│ │ ├── date20180422.py

│ │ ├── __init__.py

│ │ └── __pycache__

│ │ ├── calculation.cpython-36.pyc

│ │ └── __init__.cpython-36.pyc

有如上文件路径,执行文件为bin.py,被调用文件是calculation.py模块。

计划在bin文件中加入from test import calculation 语句来导入被调用文件中的方法,那么如何让python能够识别到test这个目录的路径呢?我们只需要让Python能够找到Ipy目录,就自然能够找到它下面的test的目录。

1、通过__file__获取当前的文件名:bin.py

2、通过os.path.abspath(__file__)获取文件的绝对路径:../bin/bin.py

3、通过os.path.dirname()方法可以获取到文件目录的路径:../bin

4、再次通过os.path.dirname()获取Ipy目录的绝对路径

5、将获取的Ipy目录的绝对路径加入到python环境变量中,通过sys.path.insert()方法,加到系统路径的开始位置,测试用append方法追加在最后无法成功。

路径测试代码:

1 importsys, os2

3 print('执行文件是 %s' % __file__)4 f_name = os.path.abspath(__file__)5 print('执行文件的绝对路径:', f_name)6 d_name =os.path.dirname(f_name)7 print("执行文件的目录的绝对路径是:", d_name)8 f_d_name =os.path.dirname(d_name)9 print("与被调用文件的目录的上一级目录绝对路径:", f_d_name)

添加路径:

1 importsys, os2

3 #根据os.path.abspath(__file__)获取当前文件的绝对路径

4 #通过os.path.dirname()获取当前文件目录的绝对路径

5

6 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))7

8 #sys.path.append(BASE_DIR) append方法在linux下会报错

9 #print(sys.path)

10 #采用insert的列表插入方法,将获取的文件夹路径临时的添加到文件路径列表中

11 sys.path.insert(0, BASE_DIR)12 from test importcalculation13

14 res = calculation.add(1, 2)15 print(calculation.add(1, 2))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值