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读取文件相对路径绝对路径内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

最新评论