如何表示python中的相对路径
作者:silencement 发布时间:2022-09-06 14:13:41
标签:python,相对路径
下面的路径介绍针对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
0
投稿
猜你喜欢
- 本文介绍了SpringBoot 中使用JSP的方法示例,分享给大家,具体如下:依赖: <parent>
- 安装的 MySQL 5.1.48 或是 MySQL 5.5.8,配置好最后点击 Execute 按钮了,但是进行不到 Start servi
- 本文为大家分享了Ubuntu18.04安装mysql5.7.23的具体方法,供大家参考,具体内容如下参考文章:Ubuntu 18.04 安装
- 本文实例讲述了php中fgetcsv()函数用法。分享给大家供大家参考。具体方法如下:fgetcsv是一个简单的生成excel文档的函数,从
- 最近在研究品牌如何演绎,当然,看的时候没有忘记本行,分析了一下他们的交互设计~~路易威登LV上图采用胶片展示多组信息——大片展示品牌渲染。利
- 在pandas 基础操作大全之数据读取&清洗&分析 以及 pandas基础操作大全之数据合并 中介绍了p
- 借鉴:python绘制lost(损失)曲线 加 方差范围直接上效果图: 上代码:import reimport seaborn a
- Windows下将gvim8配置为Python IDE大概分为以下四步,每步介绍的都非常详细,一起看看吧。1.准备工作将下面的安装包或者文件
- django在一个项目的目录结构划分方面缺乏必要的规范,因此不同人的项目组织形式也千奇百怪,而且也很难说谁的做法就比较好。我根据自己的项目组
- 一:C# 连接SQL数据库 Data Source=myServerAddress;Initial Catalog=
- 本文主要向大家分享了Python3调用微信企业号API发送文本消息示例的有关代码,具体如下:#!/usr/bin/env python# -
- 在通信领域,可以通过希尔伯特变换求解解析信号,进而求解窄带信号的包络。实现希尔伯特变换有两种方法,一种是对信号做FFT,单后只保留单边频谱,
- 一 修改root密码的三种办法方法1: 用SET PASSWORD命令首先登录MySQL。格式:mysql> set password
- 例子一:Python用WMI模块获取windowns系统的硬件信息:硬盘分区、使用情况,内存大小,CPU型号,当前运行的进程,自启动程序及位
- 以下是服务端代码var HTTPREQUEST_PROXYSETTING_DEFAULT = 0;var&nb
- 当你的web应用程序成长到一定规模时,你可能需要使用消息队列来处理异步任务、事件或在多个服务之间传递消息。Kafka是一个开源的消息队列系统
- 1、炫酷星空登录实现代码<!DOCTYPE HTML><html><head><meta http
- 由于javascript是一种无类型语言,所以一个数组的元素可以具有任意的数据类型,同一个数组的不同元素可以具有不同的类型,数组的元素设置可
- 前言Beautiful Soup是python的一个HTML或XML的解析库,我们可以用它来方便的从网页中提取数据,它拥有强大的API和多样
- 过拟合当训练集的的准确率很高, 但是测试集的准确率很差的时候就, 我们就遇到了过拟合 (Overfitting) 的问题. 如图:过拟合产生