当前位置: 首页 > news >正文

【python编程】python无法import模块的一种原因分析

python系统路径添加错误

  • 报错原因
  • 原因分析
  • 解决办法
  • 补充

最近写代码的时候遇到一个问题,就是想添加工程下fu_convert文件夹下自己编写的convert_fw.py模块,但是出现报错,是个比较低级的问题,但还是简单记录一下

报错原因

无法找到模块convert_fw;

相关代码如下:

sys.path.append(parent)
sys.path.append(parent+"/FU")
sys.path.append(parent+"/fu_convert")
import convert_fw

原因分析

猜测sys.path没有添加到正确的路径,导致python脚本在import convert_fw模块时候,无法在sys.path中找到convert_fw所在的路径;于是如下图,打印出了一下当前路径parent,是C:\Users\Rio.lin\Desktop\Fu-tool\GUI;

而自己添加sys.path的时候是直接在parent下添加,即sys.path.append(parent+“/fu_convert”);这样是错误的,因为fu_convert文件夹并不在C:\Users\Rio.lin\Desktop\Fu-tool\GUI,而是在它的父目录C:\Users\Rio.lin\Desktop\Fu-tool下;要使用父目录我们可以用sys.path.append(str(Path(file).resolve().parents[1]

所以自己添加sys.path时候应该在parent的上一级目录下再去添加fu_convert文件夹,这样我们的python脚本才能imort到fu_convert文件夹下的convert_fw模块

在这里插入图片描hi述

解决办法

利用

sys.path.append(str(Path(__file__).resolve().parents[1].joinpath('fu_convert')))

替换掉错误的添加语句

sys.path.append(parent+"/fu_convert")

将搜索路径添加进去,这样即可正常运行
在这里插入图片描述

补充

另外,其实在windows环境的编程中添加路径分隔符应该是“\\”,而不是“/”,所有下述的写法也是错的

sys.path.append(parent+"/fu_convert")
http://www.lryc.cn/news/193198.html

相关文章:

  • vue3.0与vue2.0的区别
  • 09_Webpack打包工具
  • 小程序 | 小程序后端用什么语言开发比较好
  • Websocket升级版
  • 基于音频SOC开发板的主动降噪ANC算法源码实现
  • 【Pytorch】深度学习之损失函数
  • 3.4 构造方法
  • 代码随想录
  • 2核4G游戏服务器推荐(阿里云/腾讯云/华为云)
  • SQL标识列实现自动编号的步骤和技巧以及优势
  • 【Debian】报错:su: Authentication failure
  • 我测试用的mark down教程
  • 网络编程基础知识总结——IP,端口,协议
  • 【LeetCode力扣】297. 二叉树的序列化与反序列化
  • Linux寄存器+Linux2.6内核进程调度队列+命令行参数+环境变量
  • 组合数(2)获取C(n,k)组合数列表的QT实现
  • SparkCore编程RDD
  • VBA技术资料MF69:添加和删除工作表中的分页符
  • 数字技术助力智慧公厕,让公厕变身为全新创新应用
  • electron 升级 v22 遇到问题
  • 跟我学c++中级篇——Pimpl
  • [补题记录] Atcoder Beginner Contest 295(E)
  • 解决git在window11操作很慢,占用很大cpu的问题
  • C++智能指针(二)——weak_ptr初探
  • 540 - Team Queue (UVA)
  • 投资组合之如何估值
  • 2024届通信工程保研经验分享(预推免入营即offer)
  • L2-025 分而治之 - java
  • Python+高光谱数据预处理-机器学习-深度学习-图像分类-参数回归
  • 免费 AI 编程助手 Amazon CodeWhisperer 体验