当前位置: 首页 > news >正文

python——文件存储与写入path

path方法常常用来访问一个文件所在的地址,然后将地址储存在变量中。然后有不同的方法将文件内容进行处理,还可以将文件进行创建。

from pathlib import Path
path=Path('xxxxxxx')

1.文件读取操作

(1)txt文件

常用read_text()读取文件内容,

from pathlib import Path
path=Path('xxxxxx')
contexts=path.read_text()

读取内容后使用splitlines()方法获取文件的各行,返回的是一个包含文件各行的列表

from pathlib import Path
path=Path('xxxxxx')#txt文件存储位置
contexts=path.read_text()
lines=contexts.splitlines()

(2)json文件 

对于文件后缀为json文件(可以理解成加密的txt文件),读取时候我们Path进行文件地址访问,然后使用read_text()进行文件内容获取,然后将文件内容使用json.load()函数进行解析加载到内存中,方便我们访问内容(相当于文件解密),这样python就可以访问内容了。

from pathlib import Path
import json
path=Path('xxxxxx')#是json文件存储地址
contexts=path.read_text()
contents=json.load(contexts)

(3)csv文件 

对于一种特殊文件格式csv,文件阅读较为困难,使用机器进行阅读较为方便。因此,需要我们进行导入文件内容。文件打开同样使用Path方法,read_text()将文件读取,然后使用csv.reader()解析文件的各行,返回的各行的列表,对列表调用函数next()获取文件的下一行(相当于将列表文件从头开始进行按顺序检索)。

from pathlib import Path
import csv
path=Path('xxxxxx')#csv文件存储位置
contexts=path.read_text()
reader=csv.reader(contexts)
print(next(reader))

csv有种特殊的形式将每一行内容头打印出来,并加上索引。使用函数enumerate()处理将返回一个字典,索引和每一行的头。

from pathlib import Path
import csv
path=Path('xxxxxx')#csv文件存储位置
contexts=path.read_text()
reader=csv.reader(contexts)
for key,value in enumerate(reader):print(key,value)

2.文件的存储

文件的写入同文件的读取,都是在Path进行的,不同的是文件的读取需要提供文件位置,如果文件不存在,就会将文件创建一个新的;如果文件是有内容的话就会在写入时候覆盖文件。

(1)txt文件的写入

txt文件的写入时使用write_text()方法,对文件进行写入操作。写入内容默认只能是字符串,如果要写入数字要进行str()函数进行转换,才能进行写入。

from pathlib import Path
path=Path('xxxxxxx')
contents="xxxxxxxx"#要写入的内容
path.write_text(contents)
from pathlib import Path
path=Path('xxxxxxx')
contents=1#要写入的内容
contents=str(contents)
path.write_text(contents)

(2)json文件的写入

json文件将文件写入使用同样用write_text()进行写入,json文件的写入,需要使用json.dump()函数进行格式转换(相当于进行文件进行加密),然后才能写入文件中。同样的,文件的写入只能写入字符串类型。但是文件格式转换的时候会返回字符串类型,没有必要将str()函数进行转换。

from pathlib import Path
path=Path('xxxxx')#json文件的地址
number=[1,2,3,4,5,6]
contents=json.dump(number)#进行文件格式转换
path.write_text(contents)

3.文件位置

文件位置分为相对文件路径和绝对文件路径。相对文件路径就是将当前代码所在文件的路径的相对位置;绝对路径是指出文件的位置,不管程序位置,直接在计算机中进行查找。

(1)相对文件路径

相对文件路径,使计算机在查找位置时候将程序所在位置文件夹进行接着进行查找,就会报错:FileNotFoundError。例如路径:"txt_file/txt1.txt",程序所在文件夹是与txt_file同一个,计算机会根据路径进行查找。使用相对路径可以很好解决不同设备适配和转移问题。

(2)绝对文件路径

绝对文件路径可以很好解决文件与程序位置不同的情况。绝对路径,直接指出文件在以根目录出发进行查找,例如路径:"E:/code2024/pythoncode/txt_file/txt1.txt",这样文件更简单,更粗暴。在移植到不同的设备,就会增加麻烦。

最后值得注意的是文件的路径是使用正斜杠进行分割,与通常计算机使用反斜杠不同,程序会在不同平台进行移植时候,程序会将文件路径自动适配不同平台的类型,保证能够正确识别。

相关文章:

python——文件存储与写入path

path方法常常用来访问一个文件所在的地址,然后将地址储存在变量中。然后有不同的方法将文件内容进行处理,还可以将文件进行创建。 from pathlib import Path pathPath(xxxxxxx) 1.文件读取操作 (1)txt文件 常用read_text()读取文件内容, …...

AI 提示词(Prompt)入门 :ChatGPT 4.0 高级功能指南

这段时间 GPT4 多了很多功能,今天主要是增加了 GPTs Store 的介绍和 创建 GPTs 的简单方法,那么我们开始吧,文末有彩蛋。 这里主要讲解如下几个点: 1: ChatGPT 4.0 插件的使用 2:ChatGPT 4.0 高级数据分…...

C++:模板

目录​​​​​​​ 一.泛型编程 二.模板 函数模板 类模板 一.泛型编程 在C中,支持函数重载,如果我们通过函数重载实现通用的交换函数,写法如下: void Swap(int& left, int& right) {int temp left;left right;ri…...

假如浙江与福建合并为“浙福省”

在中国,很多省份之间的关系颇有“渊源”,例如河南与河北、湖南与湖北、广东与广西等等,他们因一山或一湖之隔,地域相近、文化相通。 但有这么两个省份,省名没有共通之处,文化上也有诸多不同,但…...

AI图片生成3D物体和2D视频提取3D动画

包括AI图片生成3D物体的网站: 第一个为Artefacts.AIhttps://app.artefacts.ai/starter 第二个为 https://3d.csm.ai/ 以下4个的视频教程连接https://www.youtube.com/watch?vmQQCyzTA_F8 第三个为Tripo AI: Tripo AI for Web 第四个为Meshy AI: Meshy - Free …...

Android 应用包名的定义 pm list packages查询的包名

问题 在AndroidManifest和build.gradle其实都有应用包名的定义,有时候发现两者不一样,那么最终编译到软件生效的是哪个呢? 现象 连接设备后,通过adb shell pm list packages 查询应用包名,所列的名称是在build.grad…...

递归相关练习

21. 合并两个有序链表 - 力扣(LeetCode) 重复子问题:将l1的头节点跟l2的头结点比较 得到一个较小的头节点l1 随后继续比较 将l1后面一个节点跟l2第一个节点比较 又得到一个较小的节点 不断下去 递归出口:当l1或者l2为空时候 返回…...

租房市场新动力:基于Spring Boot的管理系统

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…...

基于Python的B站视频数据分析与可视化

基于Python的B站视频数据分析与可视化 爬取视频、UP主信息、视频评论 功能列表 关键词搜索指定帖子ID爬取指定UP主的主页爬取支持评论爬取生成评论词云图支持数据存在数据库支持可视化 部分效果演示 爬取的UP主信息 关键词搜索爬取 指定UP主的主页爬取 指定为黑马的了 爬取视…...

远程:HTTP基本身份验证失败。提供的密码或令牌不正确,或者您的账户启用了两步验证,您必须使用个人访问令牌而不是密码。

问题描述: remote: HTTP Basic: Access denied. The provided password or token is incorrect or your account has 2FA enabled and you must use a personal access token insteadof a password. See http://gitlab.cnovit.com/help/topics/git/troubleshooting…...

聚合值和非聚合值比较【SQL】

文章目录 聚合值和非聚合值比较背景可以在HAVING中使用的聚合条件如何实现与非聚合值的比较与非聚合值的特殊比较 聚合值和非聚合值比较 背景 在数据库中,聚合值和非聚合值通常不直接比较,因为它们的上下文和用途不同。聚合值是通过聚合函数计算出来的…...

Python 学习 DAY1

现在我算是发现了,计算机这里就是得一直不停的学,卷完c卷java,卷完java卷python,卷完python卷机器学习、深度学习。《荀子劝学篇》:“君子曰:学不可以已。” 之前一直学python学得比较碎片化,现…...

`Pendulum`: 掌握时间的艺术,让Python日期时间操作不再复杂

文章目录 Pendulum: 掌握时间的艺术,让Python日期时间操作不再复杂第一部分:背景介绍第二部分:Pendulum是什么?第三部分:如何安装Pendulum?第四部分:简单的库函数使用方法now()today()tomorrow(…...

nginx------HTTP模块配置详解

Nginx 的 server 配置块是 Nginx 配置文件中的一个关键部分,用于定义虚拟主机。每个 server 块可以包含多个 location 块和其他指令,以处理特定的请求。下面是对 server 配置块的详细解释: 一 server 配置块的基本结构 http {# 其他全局配置…...

听见文本的魅力:AI 与未来的语音交互

AI 与未来的语音交互 引言什么是文本转语音(TTS)?当前 TTS 技术现状国内海外文本转语音能力调研文本转语音能力说明多情感风格SSML语音合成标记语言 未来趋势 引言 随着人工智能(AI)技术的迅猛发展,文本转…...

Qt 窗口可见性 之 close函数和hide函数

close函数 基本功能 close() 方法的主要功能是关闭窗口,并触发一系列与关闭相关的事件和信号。调用此方法后,窗口将不再可见,但窗口对象本身仍然存在,并且可以被再次显示(通过调用 show() 方法)。 事件处…...

git bisect和git blame

1.用 git bisect 找到出错的commit 设置开始,最新的一个已知的错误的commit和第一个已知的正确的commit,通过二分法,找出第一个出错的commit。 二分查找法(binary search method)或二分法(bisection meth…...

【面试题】Node.JS篇

1. 什么是Node.js?它的主要特点是什么?适用于哪些场景? Node.js 是一个基于Chrome V8引擎的JavaScript运行时环境,它允许JavaScript代码在服务器端运行。Node.js的主要特点是事件驱动、非阻塞I/O模型,这使得它非常适合处理高并发请求和实时应用。它适…...

Leetcode11:盛水最多的容器

原题地址:. - 力扣(LeetCode) 题目描述: 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳…...

php如何对海量数据进行基数统计

在PHP中,对海量数据进行基数统计通常可以使用布隆过滤器(Bloom Filter)或者Count-Min Sketch算法。以下是使用Count-Min Sketch算法的一个简单示例: class CountMinSketch {private $rows;private $columns;private $values;publ…...

git命令报错:fatal: not a git repository (or any of the parent directories): .git

当你执行 Git 命令时遇到错误信息 "fatal: not a git repository (or any of the parent directories): .git",这表明你当前所在的目录不是一个 Git 仓库,或者你的工作目录不在 Git 仓库的根目录下。以下是一些解决这个问题的步骤:…...

如何通过sip信令以及抓包文件分析媒体发到哪个地方

前言 问题描述:A的媒体没转发到B,B只能听到回铃音,没有A的说话声音,并且fs这边按正常的信令发送了. 分析流程 分析早期媒体发送到哪一个IP 10.19.0.1发送了一个请求给10.19.0.157这个IP,然而这里的SDP媒体地址&am…...

【网络安全零基础入门】一文搞懂Javascript实现Post请求、Ajax请求、输出数据到页面、实现前进后退、文件上传

文章目录 一、Javascript原生post请求写法二、原生JS封装Ajax请求三、JS里的值或内容输出到HTML网页中四、Javascript页面后退前进刷新示例五、Javascript实现文件上传👉1.成长路线图&学习规划👈👉2.网安入门到进阶视频教程👈…...

NVR管理平台EasyNVR多个NVR同时管理综合应用方案

为了推动应急管理能力的现代化,应急管理部提出了加速现代信息技术与应急管理业务深度融合的宏伟蓝图。这一计划不仅是国家加强和改进应急管理工作的战略重点,也是应对当前应急管理形势的严峻挑战和满足人民群众对公共安全需求的必要举措。 为了实现应急管…...

SpringBoot核心框架之AOP详解

SpringBoot核心框架之AOP详解 一、AOP基础 1.1 AOP概述 AOP:Aspect Oriented Programming(面向切面编程,面向方面编程),其实就是面向特定方法编程。 场景:项目部分功能运行较慢,定位执行耗时…...

Linux: network: ifconfig已经过时,建议使用ip addr相关命令

最近有一个同事在问网络的问题,在debug的过程中还在使用ifconfig命令查看IP的相关信息。 但是这个ifconfig已经不推荐使用了,最好使用ip 相关的命令做操作。 有些信息使用ifconfig显示不出来 ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500ine…...

Flutter 鸿蒙next中的路由使用详解【基础使用】

✅近期推荐&#xff1a;求职神器 https://bbs.csdn.net/topics/619384540 &#x1f525;欢迎大家订阅系列专栏&#xff1a;flutter_鸿蒙next &#x1f4ac;淼学派语录&#xff1a;只有不断的否认自己和肯定自己&#xff0c;才能走出弯曲不平的泥泞路&#xff0c;因为平坦的大路…...

基于SSM+小程序民宿短租管理系统(民宿1)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM小程序民宿短租管理系统实现了管理员、用户及房主 1、管理员可以管理民宿信息和订单信息用户管理、房主管理、房间类型管理、预定管理等。 2、房主可以管理自己的民宿和订单 3、…...

SQL LIKE 操作符

SQL LIKE 操作符 在SQL中&#xff0c;LIKE 操作符用于在查询中搜索列中的特定模式。它通常与 % 和 _ 通配符一起使用&#xff0c;分别代表任意数量的字符和单个字符。LIKE 操作符在数据过滤和模式匹配方面非常有用&#xff0c;尤其是在处理大量文本数据时。 LIKE 操作符的基本…...

七款主流图纸加密软件强力推荐|2024年CAD图纸加密保护指南

在当今信息化的设计行业&#xff0c;保护CAD图纸的知识产权和数据安全变得尤为重要。随着越来越多的企业采用数字化设计和共享文件&#xff0c;如何防止CAD图纸被未经授权的访问和窃取成为了许多设计师和企业关注的焦点。为此&#xff0c;选用合适的图纸加密软件是保护CAD文件安…...