sys.path 与 os.getcwd区分:代码运行中的路径问题

python 代码运行路径问题

在下载使用别人的代码进行运行时,有时会遇到路径问题。将自己目前遇到的进行分类和总结。

 

主要分为两类:

  1. import相关

  2. open文件相关

问题的来源是:IDE和cmd的默认工作路径的差异,或模块搜索路径不同。(即可能是自己和对方使用的IDE的不同默认工作路径导致的。)

 

当前工作目录

文件读写等相关操作使用的基本路径。

 

通过函数os.getcwd()获得

通过函数os.chcwd()改变

os.path

功能:作为对路径进行操作的模块

 

注意:

在cmd下运行时:

文件组织:

folder

file.py

python folder/file.py :当前工作目录在父亲目录

python file.py : 当前工作目录在folder下

 

常见问题:

打开文件描述符时出错

找不到对应的文件

FileNotFoundError: [Errno 2] No such file or directory

 

解决

修改要读写的文件路径

 

系统搜索路径

sys.path

数据类型:字符串数组

功能:确定模块搜索路径

初始化:系统环境变量PYTHONPATH ,默认安装路径

 

常见问题:

import 模块时出错

需要导入的的代码不在sys.path中

ModuleNotFoundError: No module named

 

解决

将对应模块所在的路径加入到sys.path中。

如果对应模块在子文件夹下,可以通过在子文件夹下创建 __init__.py文件解决。(相当于对子文件目录升级为模块)参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值