当前位置: 首页 > 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…...

终极抢票指南:如何用DamaiHelper轻松获取演唱会门票

终极抢票指南:如何用DamaiHelper轻松获取演唱会门票 【免费下载链接】damaihelper 支持大麦网,淘票票、缤玩岛等多个平台,演唱会演出抢票脚本 项目地址: https://gitcode.com/gh_mirrors/dam/damaihelper 你是否曾为抢不到心仪演唱会门…...

GENIVI DLT Viewer:从编译到实战连接的完整指南

1. 环境准备:搭建DLT Viewer开发环境 第一次接触GENIVI DLT Viewer时,我花了两天时间才把环境搭好。现在回想起来,其实只要抓住几个关键点就能少走弯路。DLT Viewer是汽车电子和嵌入式领域常用的日志分析工具,主要用于查看设备端…...

大模型对话的端到端加密与隐私计算实战:基于CipherChat与TEE的架构解析

1. 项目概述:当大模型对话遇上“密码学”的硬核保护最近在折腾大语言模型(LLM)应用落地的朋友,估计都绕不开一个核心痛点:安全与隐私。无论是企业内部的知识库问答,还是面向用户的个性化AI助手,…...

边缘计算大模型部署实战:从LLaMA量化到树莓派推理优化

1. 项目概述:一个为边缘计算优化的轻量级大语言模型最近在折腾边缘设备上的AI应用,发现一个挺有意思的项目——KuiperLLama。这名字听起来就很有“边缘”感,Kuiper(柯伊伯带)是太阳系边缘的一个区域,用它来…...

k8s——RBAC认证中心

一、整体流程:认证 → 授权 → 准入控制在 Kubernetes 中,所有操作都要通过 API Server。当你(或某个程序)想对集群做任何事(比如创建一个 Pod),必须经过三步检查:认证:你…...

ARM链接器命令行选项优化与实战技巧

1. ARM链接器命令行选项深度解析 在嵌入式开发领域,ARM链接器(armlink)作为工具链的关键组件,承担着将多个目标文件合并为可执行程序的重任。不同于简单的文件拼接,现代链接器提供了数十种精细控制选项,能够深度优化代码布局、调试…...

量子机器学习中的噪声效应与抗噪策略

1. 量子机器学习中的噪声效应全景解析在量子计算与机器学习交叉领域,噪声问题正成为制约实际应用的关键瓶颈。去年我在参与一个医疗影像分类项目时,首次亲身体验到量子噪声的破坏力——当我们将经典卷积神经网络迁移到量子变分电路架构时,准确…...

终极CFP管理指南:developers.events如何帮助您提交演讲申请

终极CFP管理指南:developers.events如何帮助您提交演讲申请 【免费下载链接】developers-conferences-agenda developers.events is a community-driven platform listing developer/tech conferences and Calls for Papers (CFPs) worldwide with a list, a calend…...

研究生必备|5款主流文献引用工具深度测评:从课程论文到毕业答辩,哪款能让你省下20小时格式调整时间?

凌晨3点,你盯着Word里200多条参考文献发呆:导师刚通知改用APA格式,而你手动调了一整天的GB/T 7714全得推倒重来。投稿被拒,只因参考文献格式不符合期刊要求。课程论文、小论文、开题报告、毕业大论文……每一次都是格式地狱。本文…...

SystemVerilog VPI动态数据处理机制与验证实践

1. SystemVerilog VPI动态数据处理机制深度解析在当今复杂的SoC验证环境中,SystemVerilog的动态数据类型已成为验证基础设施的核心组成部分。作为连接SystemVerilog与外部C/C程序的关键桥梁,VPI(Verilog Procedural Interface)的动态数据处理能力直接决定…...