python模块调用时,相对路径问题
来源:互联网 发布:知乎 菠萝斑马 编辑:程序博客网 时间:2024/05/22 02:22
事情的起因是最近编写一个模块,其中涉及到多个模块调用问题,而代码中全为相对路径(使用绝对路径的很少吧),于是引起了一连串‘’灵异事件‘’——明明被调用模块可以正常执行,调用模块为啥就提示找不到文件?最坑人的是,笔者使用了ConfigParser模块,这货在文件路径不存在时居然没报错,而是返回空!开始以为代码逻辑有问题,检查了一圈才发现是路径问题(好吧,技术有点渣),废话不多说,上代码!
图为基本目录结构(练习用的),最外层的调用时main.py,最底层被调用的是name.py和123.txt
call.py调用name.py和123.txt:
调用成功!
使用main.py调用call.py:
结果:
文件123.txt不见了?
是的,坑就在这,相对路径其实指的是相对于最上层调用的模块,比如此处的main.py,相对于main.py来说,‘txt\\123.txt’路径是不存在的,所以会引发异常(虽然该路径相对call.py是正确的),而python本身的模块调用‘from settings import name’却是不受影响的——因为__init__.py。
修改错误:
将txt目录转移至main.py同目录下(即相对于main.py来说‘txt\\123.txt’合法)即可!当然此时,call.py模块运行就会报错,但是不影响最顶层main.py的结果!
虽然道理很简单,但是对于初学者来说还是很容易犯错的,谨记!
阅读全文
0 0
- python模块调用时,相对路径问题
- Python中的相对文件路径的调用
- 设置python 模块调用路径
- python 使用相对路径import 模块的方法
- Python 模块导入路径问题
- python项目中不同文件夹py源文件之间如何相互调用--Python import中相对路径的问题
- Python import相对路径
- python import相对路径
- 【Python】相对路径
- python中相对路径
- 多应用程序相互调用时,相对路径与绝对路径注意的问题
- 解决调用shell脚本中相对路径的问题
- 相对路径,绝对路径问题
- 相对路径问题
- CDHtmlDialog 相对路径问题
- 相对路径问题
- 相对路径问题
- JSP相对路径问题
- EasyX中loadimage函数和putimage函数如何调用
- redis启动报错解决
- Java Set
- C语言练习题(7)
- ◆Vjudge◆◇广度优先搜索◇ Eight
- python模块调用时,相对路径问题
- 冒泡排序法C语言代码
- Java 语言中的 volatile 变量
- maven pom.xml随笔
- LeetCode-Easy刷题(11) Maximum Subarray
- Symantec/DigiCer证书认证平台联合升级计划
- SpannableString用法详解
- e的x次方的导数为什么是e^x?lnx的导数为什么是1/x?
- CentOS7.2源码安装Subversion1.9.7【填坑记】