67. Python的绝对路径
67. Python的绝对路径
文章目录
- 67. Python的绝对路径
- 1. 准备工作
- 2. 路径
- 3. 绝对路径
- 3.1 概念
- 3.2 查看绝对路径的方法
- 4. 课堂练习
- 5. 用绝对路径读取txt文件
- 6. 加`\`改写绝对路径
- 6.1 转义字符知识回顾
- 6.2 转义字符改写
- 7. 总结
1. 准备工作
对照下图,新建文件夹和txt文件
-
在电脑
D盘
新建1个文件夹,命名为安迪
。 -
在
安迪
文件夹里新建2个文件夹,分别命名为工作
,生活
。 -
在
安迪
文件夹里新建1个txt文件,命名为笔记.txt
,在笔记.txt
文件中写入“这是我的第300篇笔记”。 -
在
安迪
文件夹里新建1个txt文件,命名为new.txt
,在new.txt
文件中写入“路径里含有转义字符,程序会报错!”。 -
在
工作
文件夹里新建1个txt文件,命名为目标.txt
,在目标.txt
文件中写入“2023年的目标是新增1万个关注者!”。 -
在
生活
文件夹里新建1个txt文件,命名为旅游.txt
,在旅游.txt
文件中写入“我想去西藏!”。 -
在
生活
文件夹里新建1个年度预算
文件夹,在年度预算
文件夹里新建一个旅游经费.txt
文件,在旅游经费.txt
文件中写入“旅游经费2万元。”。 -
在
生活
文件夹里新建1个路径.py
文件。
【备注】
新建一个txt文件,将文件名改成路径.py
也能新建一个py文件。
2. 路径
在Python中,路径是指文件所存储位置。
通常有绝对路径和相对路径2种2表述方法。
3. 绝对路径
3.1 概念
绝对路径是指文件在硬盘上真正存在的路径。
就是从盘符(C盘、D盘、E盘、F盘)开始一直到文件所在的具体位置。
绝对路径是以磁盘名称开头,如 C:
或者 D:
,具体的文件或文件夹名称做结尾。
绝对路径是唯一的,只有一个。
3.2 查看绝对路径的方法
方法1:复制文件地址
【目标任务】
查看笔记.txt
文件的绝对路径。
-
点击文件
笔记.txt
; -
然后按住【shift】;
-
点击鼠标右键;
-
最后点击【复制文件地址】。
得到的文件地址如下:
"D:\安迪\笔记.txt"
"D:\安迪\笔记.txt"
就是笔记.txt
文件在硬盘上真正存在的路径。
"D:\安迪\笔记.txt"
以盘符D:\
开头,以笔记.txt结尾,我们称为绝对路径。
方法2:直接点击文件上方的搜索栏
【目标任务】
查看旅游经费.txt
文件的绝对路径。
-
找到
旅游经费.txt
文件; -
点击文件上方的搜索框;
- 复制文件搜索框的内容;
D:\安迪\生活\年度预算
- 复制的内容后面补上带文件类型的文件名,即
旅游经费.txt
;
D:\安迪\生活\年度预算\旅游经费.txt
得到的即为文件的绝对路径。
通过比对,大家应该能发现复制文件地址
的方法更为便捷。
并且复制文件地址
的方法得到的地址自带引号,我们后面编写代码可以直接使用。
4. 课堂练习
查看我们准备工作中新建的所有txt文件的绝对路径,并赋值给变量。
file_1 = "D:\安迪\工作\目标.txt"
file_2 = "D:\安迪\生活\年度预算\旅游经费.txt"
file_3 = "D:\安迪\生活\旅游.txt"
file_4 = "D:\安迪\笔记.txt"
file_5 = "D:\安迪\new.txt"
5. 用绝对路径读取txt文件
【目标任务】
用绝对路径读取目标.txt
文件内容。
-
首先打开
路径.py
文件; -
在
路径.py
文件中原样输入下面的代码;
file_1 = "D:\安迪\工作\目标.txt"
txt = open (file_1, encoding='utf-8')
print(txt.read())
【终端输出】
2023年的目标是新增1万个关注者!
【代码解析】
file_1 = "D:\安迪\工作\目标.txt"
file_1
存储的是目标.txt
的绝对路径。
txt = open (file_1, encoding='utf-8')
-
txt是变量名;
-
open
是Python的一个内置函数,作用是打开文件; -
这里的
open
函数里面有2个参数; -
第1参数file_1是文件的绝对路径:“D:\安迪\工作\目标.txt”;
-
第2参数是文件编码格式:encoding=‘utf-8’。
print(txt.read())
read
也是Python的一个内置函数,作用是读取打开文件中的数据。
【备注】
open、read函数,文件编码格式后面会有详细的讲解。
这里主要讲解路径,大家只需修改变量file_1
就能实现打开读取文件的功能。
【课堂练习:读取所有txt文件内容】
- 读取
旅游经费.txt
:
file_2 = "D:\安迪\生活\年度预算\旅游经费.txt"
txt = open (file_2, encoding='utf-8')
print(txt.read())
【终端输出】
旅游经费2万元。
- 读取
旅游.txt
:
file_3 = "D:\安迪\生活\旅游.txt"
txt = open (file_3, encoding='utf-8')
print(txt.read())
【终端输出】
我想去西藏!
- 读取
笔记.txt
:
file_4 = "D:\安迪\笔记.txt"
txt = open (file_4, encoding='utf-8')
print(txt.read())
【终端输出】
这是我的第300篇笔记!
- 读取
new.txt
:
file_5 = "D:\安迪\new.txt"
txt = open (file_5, encoding='utf-8')
print(txt.read())
【终端输出】
OSError: [Errno 22] Invalid argument: 'D:\\安迪\new.txt'
同样的方法读取new.txt
程序报错。
Invalid argument: 'D:\\安迪\new.txt'
:无效参数:“D:\安迪\new.txt '。
读取new.txt
文件程序报错,是因为文件路径中含有转义字符\n
。
红色框中的\n
就是转义字符。
6. 加\
改写绝对路径
6.1 转义字符知识回顾
【备注】上图来源于风变编程。
一个\
反斜杆加上一个特殊的英文字母、字符就是Python中的转义字符。
转义字符语法:\
+字母\字符。
6.2 转义字符改写
file_5 = "D:\安迪\new.txt"
当要读取的文件路径如上所示时,程序会将\n
理解成程序员要表达的是转义字符\n
。
因此,当表示文件的路径中含有转义字符时,程序会报错。
这时我们需要修改文件的路径,即在转义字符\n
前再加一个\
反斜杠,程序就不会报错。
在Python中,转义字符\\
两个反斜杆就表示一个反斜杠\
字符。
file_5 = "D:\安迪\\new.txt"
txt = open (file_5, encoding='utf-8')
print(txt.read())
【终端输出】
路径里含有转义字符,程序会报错!
【备注】编程中,很多同学不会去找哪个是转义字符,会直接在复制的地址中,在路径中的每个反斜杆前面都增加一个反斜杆\
,就能避免转义字符问题。
file_1 = "D:\\安迪\\工作\\目标.txt"
file_2 = "D:\\安迪\\生活\\年度预算\\旅游经费.txt"
file_3 = "D:\\安迪\\生活\\旅游.txt"
file_4 = "D:\\安迪\\笔记.txt"
file_5 = "D:\\安迪\\new.txt"
txt1 = open (file_1, encoding='utf-8')
txt2 = open (file_2, encoding='utf-8')
txt3 = open (file_3, encoding='utf-8')
txt4 = open (file_4, encoding='utf-8')
txt5 = open (file_5, encoding='utf-8')
print(txt1.read())
print(txt2.read())
print(txt3.read())
print(txt4.read())
print(txt5.read())
【终端输出】
2023年的目标是新增1万个关注者!
旅游经费2万元。
我想去西藏!
这是我的第300篇笔记!
路径里含有转义字符,程序会报错!
7. 总结
相关文章:
67. Python的绝对路径
67. Python的绝对路径 文章目录67. Python的绝对路径1. 准备工作2. 路径3. 绝对路径3.1 概念3.2 查看绝对路径的方法4. 课堂练习5. 用绝对路径读取txt文件6. 加\改写绝对路径6.1 转义字符知识回顾6.2 转义字符改写7. 总结1. 准备工作 对照下图,新建文件夹和txt文件…...
VHDL语言基础-组合逻辑电路-加法器
目录 加法器的设计: 半加器: 全加器: 加法器的模块化: 四位串行进位全加器的设计: 四位并行进位全加器: 串行进位与并行进位加法器性能比较: 8位加法器的实现: 加法器的设计&…...
内存检测工具Dr.Memory在Windows上的使用
之前在https://blog.csdn.net/fengbingchun/article/details/51626705 中介绍过Dr.Memory,那时在Windows上还不支持x64,最新的版本对x64已有了支持,这里再总结下。 Dr.Memory源码地址https://github.com/DynamoRIO/drmemory,最新发…...
J6412四网口迷你主机折腾虚拟机教程
今天给大家做一个四网口迷你主机折腾虚拟机的安装教程,主机采用的是maxtang大唐NUC J6412 intel i226V四网口的迷你主机,这款主机它是不能直接装上NAS的,必须使用虚拟机系统,近期研究了下然后做了一个教程分享给大家。 首先需要做…...
电子招标采购系统—企业战略布局下的采购寻源
智慧寻源 多策略、多场景寻源,多种看板让寻源过程全程可监控,根据不同采购场景,采取不同寻源策略, 实现采购寻源线上化管控;同时支持公域和私域寻源。 询价比价 全程线上询比价,信息公开透明ÿ…...
elasticsearch 之 mapping 映射
当我们往 es 中插入数据时,若索引不存在则会自动创建,mapping 使用默认的;但是有时默认的映射关系不能满足我们的要求,我们可以自定义 mapping 映射关系。 mapping 即索引结构,可以看做是数据库中的表结构,…...
2023年rabbitMq面试题汇总2(5道)
一、如何确保消息接收⽅消费了消息?接收⽅消息确认机制:消费者接收每⼀条消息后都必须进⾏确认(消息接收和消息确认是两个不同操作)。只有消费者确认了消息,RabbitMQ才能安全地把消息从队列中删除。这⾥并没有⽤到超时…...
电视剧《狂飙》数据分析,正片有效播放市场占有率达65.7%
哈喽大家好,春节已经过去了,朋友们也都陆陆续续开工了,小编在这里祝大家开工大吉!春节期间,一大批电视剧和网剧上映播出,其中电视剧《狂飙》以不可阻挡之势成功成为“开年剧王”。这里小编整理了一些《狂飙…...
cas单点登录后重定向次数过多问题以及调试cas-dot-net-client
问题描述: web项目应用cas作为单点登录站点,登录后无法打开WEB项目的页面,报错,说重定向次数过多。 老实说,这种问题,以前遇到过不少,是我这种半桶水程序员的噩梦。解决这种问题,不…...
【监控】Prometheus(普罗米修斯)监控概述
文章目录一、监控系统概论二、基础资源监控2.1、网络监控2.2、存储监控2.3、服务器监控2.4、中间件监控2.5、应用程序监控(APM)三、Prometheus 简介3.1、什么是 Prometheus3.2、优点3.3、组件3.4、架构3.5、适用于什么场景3.6、不适合什么场景四、数据模…...
opencv+python物体检测【03-模仿学习】
仿照练习:原文链接 步骤一:准备图片 正样本集:正样本集为包含“识别物体”的灰度图,一般大于等于2000张,尺寸不能太大,尺寸太大会导致训练时间过长。 负样本集:负样本集为不含“识别物体”的…...
计算机科学基础知识第二节讲义
课程链接 运行环境:WSL Ubuntu OMZ终端 PS:看到老师终端具有高亮和自动补全功能,我连夜肝出oh-my-zsh安装教程,实现了此功能。 这节课主要讲变量的语法、控制流程、shell功能等内容。 修改终端用户名,输入密码后重启…...
openssl genrsa 命令详解
文章目录一、openssl genrsa 命令介绍二、openssl genrsa 命令的语法及选项三、实例1、生成512位的 RSA 秘钥,输出到屏幕。2、生成512位 RSA 私钥,输出到指定的文件 genrsa.txt3、生成 1024 位 RSA 秘钥,采用 des 算法加密,加密密…...
C语言标准 —— C89(C90)、C99、C11、C17、C2X
C语言主要的三个标准:C89(C90)、C99、C11、K&R C 指的是 C 语言的原始版本。1978年,C 语言的发明者丹尼斯里奇(Dennis Ritchie)和布莱恩柯林(Brian Kernighan)合写了一本…...
基于Java+Dubbo设计的智能公交查询系统
一、项目背景 随着经济的飞速发展,人们的生活质量有了较大的提高,城市居民的出行变得越来越频繁,城市交通也面临越来越多的挑战。城市公共交通具有客流量大、成本低、效率高、节约资源等优势,因此,如何大力发展公交产业,鼓励人们乘坐公交出行,进而改善交通状况,是一个值得思考…...
go语言的并发编程
并发编程是 Go语言的一个重要特性,而 go语言也是基于此而设计出来的。 本文将会介绍如何使用go-gc中的“runtime”方法实现 go语言中的并发编程。 在之前的文章中,我们已经对 runtime方法进行了详细介绍,这次文章将对 runtime方法进行深入分析,并讲解如何在go-gc中使用该方…...
亚马逊要求UL94防火测试阻燃测试标准及项目
UL94认证是什么?分几个等级?是如何表示各等级?带电的产品上架亚马逊都需要相关的UL报告,需要有ISO 17025资质的实验室出具的测试报告才能正常销售和恢复链接,UL94防火测试则是其中一项。UL94试验共有五种:1.B级的水平燃烧试验2.…...
ClickHouse 合并树表引擎 MergeTree 原理分析
目录 前言 MergeTree 存储 MergeTree思想 MergeTree存储结构 MergeTree查询 索引检索 数据Sampling 数据扫描 建表 数据存储...
用YOLOv8推荐的Roboflow工具来训练自己的数据集
YOLOv8是Ultralytics公司开发的YOLO目标检测和图像分割模型的最新版本,相较于之前的版本,YOLOv8可以更快速有效地识别和定位图像中的物体,以及更准确地分类它们。 作为一种深度学习技术,YOLOv8需要大量的训练数据来实现最佳性能。…...
三层交换机【实验】
目录 1、要求: 2、拓扑: 3、创建vlan和端口定义并划入vlan: 4、创建以太网中继Eth-Trunk使sw1和sw2的相互冗余并且不浪费链路: 5、使用mstp定义组和对应的根: 6、配置网关冗余: 7、核心层的路由的IP配…...
Anolis 8.6 部署 Kafka 3.3.1 安装和测试(二)
动态初始化Kafka消费者实例一.Kafka 环境搭建二.动态初始化消费者1.Topic定义2.方法处理器工厂3.参数解析器(Copy SpringBoot 源码)4.消费接口和消费实现5.动态初始化1.关键类简介2.动态初始化实现一.Kafka 环境搭建 参考:Kafka搭建和测试 …...
sed和awk
文章目录1、sed的简单介绍2、sed的使用方法2.1 命令行格式2.2 案例2.3 sed结合正则使用2.4 脚本格式3、awk的简单介绍4、awk的使用方法4.1 命令行模式4.2 脚本模式5、awk内部相关变量5.1 案例6、awk工作原理7、awk进阶使用8、awk脚本编程8.1 案例1、sed的简单介绍 sed是流编辑…...
使用STM32 CUBE IDE配置STM32F7 用DMA传输多通道ADC数据
我的使用环境: 硬件:STM32F767ZGT6、串口1、ADC1、16MHz晶振、216MHz主频 软件:STM32 CUBE IDE 优点:不用定时触发采样,ADC数据是不停的实时更新,ADC数据的更新频率根据采样时钟和采样周期决定,…...
linux 学习(持续更新)
一:初识linux 新装操作环境: mac intel电脑 CentOS系统版本:CentOS-8.1.1911 在这里解释一下[chenllocalhost /]$这句话的含义: chenl是用户名,也就是你自己起的名字。 是分割的符号 localhost是主机名,也…...
Nacos【一】Nacos集群部署配置
系列文章目录 暂无 文章目录系列文章目录前言一、Nacos集群架构1.ip直连2. SLB3. 域名-SLB二、集群部署准备2.1 机器准备2.2 Nginx安装配置1.安装2.负载均衡配置2.3 nacos安装配置1.nacos节点2. MySQL准备1.Docker安装MySQL2. nacos对应数据库初始化三、 集群启动1.失败原因汇…...
“亚洲一号”也能上市?REITs背后的物流设施风起云涌
京东最近发生了两件大事,两件都与物流基础设施有关。 一件是2月8日,嘉实京东仓储物流封闭式基础设施证券投资基金(简称“京东仓储REIT”)正式登陆上交所,投资者获得了机会,去分享京东三处物流园区的收益&a…...
2023养老展,CBIAIE第十届中国北京国际老年产业博览会
8月招商季,第十届中国(北京)国际老年产业博览会再次盛大举办; CBIAIE北京国际老年产业博览会位域优势: ——北京,中国首都,世界一线城市,地处中国北部、华北平原北部,东…...
【Android -- 每日一问】现在 Android 怎么学?学什么?
不管在任何行业,任何岗位,初级技术人才总是供大于求;不管任何行业、岗位,技术过硬的也都是非常吃香的! 这几年 Android 新技术的迭代明显加速了,有来自外部跨平台新物种的冲击,有去 Java 化的商…...
JVM垃圾回收
概述 Java是支持自动垃圾回收的,有些语言不支持自动垃圾回收(C)自动垃圾回收不是Java的首创 垃圾是什么? 在 JVM 中垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。 哪些区域需要回收…...
clickhouse集群安装
单机安装 yum install yum-utilsrpm --import https://repo.clickhouse.com/CLICKHOUSE-KEY.GPGyum-config-manager --add-repo https://repo.clickhouse.com/rpm/clickhouse.reposudo yum install clickhouse-server clickhouse-client 配置文件 vim /etc/clickhouse-serve…...
如何做照片ppt模板下载网站/定制网站+域名+企业邮箱
2019年5月3日 星期五 补 最后一次,不要再补了! 1.RJ-54端口:在这种端口上通过双绞线连接以太网。 10Base-T的RJ-45端口标志为“ETH”,而100Base-TX的RJ-45端口标志为“10/100bTX”,这是因为快速以太网路由器采用10/100…...
网站设计合同/百度双十一活动
我是linux 的服务器,navicat12的客户端, 开始链接的时候需要开服务器上得对外爆漏端口 3306,方法: 添加指定需要开放的端口: firewall-cmd --add-port123/tcp --permanent 重载入添加的端口: firewall-cmd …...
建筑网结构/南宁seo怎么做优化团队
前言 Puerts,准确的说应该叫做:普洱TS。puerts是腾讯出品的一个游戏引擎下的TypeScript编程解决方案,基于Unreal和Unity双引擎。 或者换句话说:puerts 是 Unity/Unreal 的一个 JS 运行环境。让我们可以在Unity/Unreal里面通过js…...
b2b电子商务网站盈利模式/国家高新技术企业
计算机应用专业英文求职信导语:“人生在勤,不索何获”,我会努力工作,把工作做得更好,更出色来回报你的信任,愿与贵单位荣辱与共,与同事携手并进,在平凡的工作中来实现我人生的价值&a…...
海安做网站的公司/网推公司
1、汉字编码原理 到底怎么办到随机生成汉字的呢?汉字从哪里来的呢?是不是有个后台数据表,其中存放了所需要的所有汉字,使用程序随机取出几个汉字组合就行了呢?使用后台数据库先将所有汉字存起来使用时随机取出…...
竞价网站同时做优化可以吗/宁波seo网络推广咨询价格
一、使用背景. 1.1 当完成一个版本,需要,需要给这个版本打一个标签.见证某款软件的某一历史时刻. 二、Git tag的使用. 2.1 git tag(查看当前所有分支). git tag(当前没有版本信息). 2.2 git tag -a [tagname] (为最新一次提交打版本) 此时只是提交到了本地仓库,还没有推…...