python——文件存储与写入path

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

python 复制代码
from pathlib import Path
path=Path('xxxxxxx')

1.文件读取操作

(1)txt文件

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

python 复制代码
from pathlib import Path
path=Path('xxxxxx')
contexts=path.read_text()

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

python 复制代码
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就可以访问内容了。

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()获取文件的下一行(相当于将列表文件从头开始进行按顺序检索)。

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

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

python 复制代码
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()函数进行转换,才能进行写入。

python 复制代码
from pathlib import Path
path=Path('xxxxxxx')
contents="xxxxxxxx"#要写入的内容
path.write_text(contents)
python 复制代码
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()函数进行转换。

python 复制代码
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",这样文件更简单,更粗暴。在移植到不同的设备,就会增加麻烦。

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

相关推荐
啃火龙果的兔子1 分钟前
Form.Item中判断其他Form.Item的值
开发语言·前端·javascript
学习编程的gas11 分钟前
C++多态:理解面向对象的“一个接口,多种实现”
开发语言·c++
EndingCoder28 分钟前
Next.js 中间件:自定义请求处理
开发语言·前端·javascript·react.js·中间件·全栈·next.js
FirstFrost --sy28 分钟前
C++ stack and queue
开发语言·c++·queue·stack·priority_queue
墨城之左29 分钟前
低版本 IntelliJ IDEA 使用高版本 JDK 语言特性的问题
java·开发语言·intellij-idea·jdk21
别来无恙1491 小时前
Java Web开发:Session与Cookie详细入门指南
java·开发语言
在钱塘江1 小时前
LangGraph构建Ai智能体-11-高级RAG之Self-RAG
人工智能·python
华阙之梦1 小时前
QT环境搭建
开发语言·qt
GalaxyPokemon2 小时前
Linux的pthread怎么实现的?(包括到汇编层的实现)
运维·开发语言·c++
NeoFii2 小时前
Day 39: 图像数据与显存
python·深度学习·机器学习