随笔 - 272  文章 - 7  评论 - 27  阅读 - 83万

import引用自定义包、模块sys.path.append() ---转

https://blog.csdn.net/Frank_LJiang/article/details/122656604

import引用自定义包、模块)sys.path.append(
问题
sys.path.append()
os.path.dirname(__file__)
问题
当引用不同文件下的自定义包时,容易出现以下问题

ModuleNotFoundError: No module named 'ge'

由于import xxx时,默认情况下python解释器会搜索当前目录、已安装的内置模块和第三方模块,不能搜索其它目录。因此,需要我们手动使用sys.path.append()添加

sys.path.append()
手动添加python能搜索的目标目录

复制代码
import sys
# print(sys.path) # 显示当前python解释器会搜索的目录

sys.path.append('需要引用模块的地址') # 手动添加自定义搜索目录

# sys.path.append("..") # 添加当前路径的上一级目录

os.path.dirname(file)
import os

path1 = os.path.dirname(__file__)
print(path1) # 获取当前运行脚本的绝对路径

path2 = os.path.dirname(os.path.dirname(__file__))
print(path2) # 获取当前运行脚本的绝对路径的上一级路径(去掉最后一个路径)

path3 = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
print(path3) # 获取当前运行脚本的绝对路径的上一级路径的上一级路径(去掉最后2个路径)
# ......

path6 = os.__file__
print(path6) # 获取os所在的目录

比如

sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))
# 表示添加当前目录的上一级目录到python解释器的搜索目录中
复制代码

 

posted on   NLazyo  阅读(97)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2013-09-22 winform窗体的关闭与资源的释放
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示