如何表示python中的相对路径

作者:silencement 时间:2022-09-06 14:13:41 

下面的路径介绍针对windows在编写的py文件中打开文件的时候经常见到下面其中路径的表达方式:


open('aaa.txt')
open('/data/bbb.txt')
open('D:\\user\\ccc.txt')

这三种表达式里面,前两个都是相对路径,第三个则是绝对路径。绝对路径比较好理解,就是最完整的路径,相对路径的相对则是不完整路径,这个相对指的就是相对于当前文件夹路径,其实就是你编写的这个py文件所放的文件夹路径!也就是说你写的相对路径必须是当前文件夹A里的文件a或者A里的文件夹B里的文件才可以open。

假设当前的py文件夹所处的位置是:D:\user\public

那么三行代码打开的文件所属的路径分别是:

D:\user\public\aaa.txt

D:\user\public\data\bbb.txt

D:\user\private\ccc.txt

很好理解就是当要打开py文件所处的文件时只要使用相对路径就行了,而要使用其他文件夹的则需使用绝对路径。

注:我们常用'/‘来表示相对路径,'\‘来表示绝对路径,上面的路径里\\是转义的意思,不懂的自行百度。

此外,网页网址和linux、unix系统下一般都用'/‘

当然我们也可以获得当前文件夹的绝对路径,如下:


import os
path1=os.path.abspath('.')   #表示当前所处的文件夹的绝对路径
path2=os.path.abspath('..')  #表示当前所处的文件夹上一级文件夹的绝对路径

所以我们常设置一个path1的全局变量来表示当前的绝对路径,再加上相对路径来打开需要打开的文件,这么做是为了在不同的平台上不冲突,因为不同平台在相对路径上的表示上存在区别。

知识点扩展:

1、绝对路径


os.path.abspath("文件名"):

显示的是一个文件的绝对路劲


>>> import os

>>> os.chdir("E:\\PycharmProjects\\odycmdb\\odycmdb")

>>> os.listdir()

['settings.py', 'urls.py', 'wsgi.py', '__init__.py', '__pycache__']

>>> os.path.abspath("settings.py")

'E:\\PycharmProjects\\odycmdb\\odycmdb\\settings.py'

2、相对路径


os.path.dirname("文件名"):

显示的是一个文件的相对路径


>>> import os

>>> os.chdir("E:\\PycharmProjects\\odycmdb\\odycmdb")

>>> os.listdir()

['settings.py', 'urls.py', 'wsgi.py', '__init__.py', '__pycache__']

>>> os.path.dirname("settings.py")

来源:https://www.py.cn/faq/python/16129.html

标签:python,相对路径
0
投稿

猜你喜欢

  • mysql存储过程原理与用法详解

    2024-01-26 02:50:54
  • PYQT5设置textEdit自动滚屏的方法

    2022-03-03 06:42:35
  • 举例讲解Python设计模式编程中的访问者与观察者模式

    2021-06-10 06:38:16
  • Django项目优化数据库操作总结

    2024-01-20 11:25:50
  • python opencv 简单阈值算法的实现

    2023-04-04 04:23:03
  • 使用python连接mysql数据库之pymysql模块的使用

    2024-01-16 13:12:11
  • Yii1.0 不同页面多个验证码的使用实现

    2024-05-11 09:53:57
  • python缩进区别分析

    2022-05-18 00:37:50
  • 使用python脚本实现查询火车票工具

    2021-03-10 05:48:54
  • Matlab中关于argmax、argmin函数的使用解读

    2023-06-27 20:36:53
  • 在windows10上安装mysql详细图文教程

    2024-01-18 04:39:42
  • Python+drawpad实现CPU监控小程序

    2022-05-30 19:54:38
  • 修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)

    2024-06-05 09:44:31
  • python3使用QQ邮箱发送邮件

    2023-09-05 05:16:15
  • MySQL学习记录之KEY分区引发的血案

    2024-01-19 03:19:42
  • MySql 8.0及对应驱动包匹配的注意点说明

    2024-01-24 02:57:11
  • Python操作mysql数据库实现增删查改功能的方法

    2024-01-19 13:02:18
  • 提升Go语言开发效率的小技巧实例(GO语言语法糖)汇总

    2023-07-08 10:01:26
  • wap开发 完整的WML文档结构详解

    2008-05-21 13:39:00
  • 通过JavaScript实现扑克牌游戏的示例代码

    2024-05-13 09:20:40
  • asp之家 网络编程 m.aspxhome.com