Python pycharm读取文件相对路径与绝对路径的方法

 更新时间:2023年12月04日 15:59:00   作者:爱犯错的智能体_1  
这篇文章主要给大家介绍了关于Python pycharm读取文件相对路径与绝对路径的方法,绝对路径就是文件的真正存在的路径,是指从硬盘的根目录(盘符)开始,进行一级级目录指向文件,相对路径就是以当前文件为基准进行一级级目录指向被引用的资源文件,需要的朋友可以参考下

1.绝对路径

要读取如图所示文件的相对路径:

方法1:直接根据文件路径手动读取

D:\PycharmProjects\pythonProject\torch_learning\test_path.py

方法2:os.path.abspath(path)获取

path = "test_path.py"               # path为文件的名称
print(os.path.abspath(papathth))    # 采用os.path.abspath方法获取绝对路径
 
# 代码结果如下:D:\PycharmProjects\pythonProject\torch_learning\read_data.py

2.绝对路径

比如我想从左图文件”test_path“访问右图"0013035.jpg"文件,采用相对路径:

1.获取当前文件的绝对路径:D:\PycharmProjects\pythonProject\torch_learning\test_path.py

2.获取访问文件的绝对路径:D:\PycharmProjects\pythonProject\torch_learning\dataset\train\ants\0013035.jpg

3.可以看出,要是想从”test_path.py“到"0031035.jpg"必须经过”torch_learning“的文件夹,相当于把它当作一个过渡文件夹

4.相对路径为:”./dataset/train/ants/0013035.jpg“

3.区分pycharm中的窗口运行程序的相对路径和控制台运行的路径

窗口运行程序的相对路径是针对此时运行的文件而言的

而控制台运行程序的相对路径是由当前你创建的虚拟环境所在的位置决定的。

比如我创建的虚拟环境的名称为”pythonProject1“,那么Python控制台的相对路径就是从此开始的。

附:在Python中以相对路径或者绝对路径来导入文件或者模块的方法

在调试代码的时候,程序一直提示没有该模块,一直很纳闷,因为我导入文件一直是用绝对路径进行导入的。按道理来讲是不会出现模块找不到的情况的。

最后仔细分析了整个代码的目录结构,才发现了问题。

下面依次来说明一下今天的情况

先看导入的代码:

在demo——mnist.py文件中执行以下两种导入操作
# 第一处
from gcforest.gcforest import GCForest
from gcforest.utils.config_utils import load_json
# 第二处
config = load_json("demo_mnist-ca.json") # 里面传入的是文件的位置,这个函数是读取配置文件的内容

然后看一下目录的结构

在此例中,demo_mnist,py为主文件。它第一处要导入的是它当前目录的父目录下的一个子目录中的一个目录中的文件。

所以以绝对路径导入这个文件就是 from lib.gcforest.gcforet import GCForest

以相对路径导入这个文件就是 from ..gcforest.gcforet import GCForest

第二处导入的是它统一个目录下的另一个文件,所以可以直接导入
所以修改的导入代码为:config = load_json("demo_mnist-ca.json")

总结

到此这篇关于Python pycharm读取文件相对路径与绝对路径的文章就介绍到这了,更多相关pycharm读取文件相对路径绝对路径内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python面向对象之类的封装操作示例

    Python面向对象之类的封装操作示例

    这篇文章主要介绍了Python面向对象之类的封装操作,结合具体实例形式分析了Python面向对象程序设计中类方法的定义与使用相关操作技巧,需要的朋友可以参考下
    2019-06-06
  • 利用python汇总统计多张Excel

    利用python汇总统计多张Excel

    这篇文章主要介绍了利用python汇总统计多张Excel,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-09-09
  • Python实现爬虫IP负载均衡和高可用集群的示例代码

    Python实现爬虫IP负载均衡和高可用集群的示例代码

    做大型爬虫项目经常遇到请求频率过高的问题,这里需要说的是使用爬虫IP可以提高抓取效率,本文主要介绍了Python实现爬虫IP负载均衡和高可用集群的示例代码,感兴趣的可以了解一下
    2023-12-12
  • Python collections模块实例讲解

    Python collections模块实例讲解

    Python作为一个“内置电池”的编程语言,标准库里面拥有非常多好用的模块。比如今天想给大家 介绍的 collections 就是一个非常好的例子
    2014-04-04
  • 一文了解python 3 字符串格式化 F-string 用法

    一文了解python 3 字符串格式化 F-string 用法

    本文介绍在python 3 编程中,如何进行字符串格式化。介绍了F-string的用法,通过实例代码给大家介绍的非常详细,对大家的工作或学习具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-03-03
  • python 实现视频 图像帧提取

    python 实现视频 图像帧提取

    今天小编就为大家分享一篇python 实现视频 图像帧提取,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python使用str & repr转换字符串

    python使用str & repr转换字符串

    str() 是将 数值 转成字符串 repr() 是将一个对象 转成字符串 显示 看明白了么:str()是将一个对象转化成str对象 repr()是将一个对象可视化,使用字符串输出,使编程人员看到其的内部结构
    2016-10-10
  • Python 基础教程之闭包的使用方法

    Python 基础教程之闭包的使用方法

    这篇文章主要介绍了Python 基础教程之闭包的使用方法的相关资料,希望大家通过本文能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • Pandas实现DataFrame的简单运算、统计与排序

    Pandas实现DataFrame的简单运算、统计与排序

    本文主要介绍了Pandas实现DataFrame的简单运算、统计与排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • python 列表,数组和矩阵sum的用法及区别介绍

    python 列表,数组和矩阵sum的用法及区别介绍

    今天小编就为大家分享一篇python 列表,数组和矩阵sum的用法及区别介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06

最新评论