python简单的保存数据所使用的三大方法
一、open() 方法
Python open() 方法用于打开一个文件,并返回文件对象。
注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。
open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。
open(file, mode='r')
mode
:文件打开模式,默认为 'r'
(只读)。其他常见模式包括:
'w'
:写入模式,会覆盖原有文件。'a'
:追加模式,会在文件末尾追加内容。'b'
:二进制模式。1.读取文件read()方法会读取文件中的所有内容
with open('example.txt', 'r') as file:
content = file.read()
print(content)
readline()读取文件中的一行内容,返回一个字符串
with open('example.txt', 'r') as file:
content = file.readline()
print(content)
readlines()可以读取多行内容,逐行读取并返回一个列表
with open('example.txt', 'r') as file:
content = file.readlines()
print(content)
这里使用了 with
语句,它会自动处理文件的打开和关闭,确保文件在操作完成后正确关闭。
2.写入文件 write()写入一行内容,若文件中有内容则覆盖文件中的所有内容
with open('example.txt', 'w') as file:
file.write('Hello, World!')
writelines()写入多个多行内容
with open('example.txt', 'w') as file:
file.writelines(["dasd\n", "adshad\n"])
3.追加内容
with open('example.txt', 'a') as file:
file.write('\nshu ru yi hang')
使用 'a'
模式可以在文件末尾追加内容,而不是覆盖原有内容。
4. 读取二进制文件,使用 'b'
模式可以读取二进制文件,如图片或音频文件,可以返回一个字节流
with open('./heads/aaa.jpg', 'rb') as file:
data = file.read()
print(data)
二、JSON 和 Pickle 序列化
序列化:将python数据结构 转换为字符串 反序列化:将字符串 转换为python数据结构 方便解析
1.序列化(编码) – 将 Python 对象转换成 JSON 字符串
data = {
'name': 'Kimi',
'age': 30,
'skills': ['Python', 'Data Analysis']
}
json_string = json.dumps(data)
print(json_string)
json.dumps()可以将python数据转化为 json字符串
2.dump写入文件:
import json
data = {
'name': 'Kimi',
'age': 30,
'skills': ['Python', 'java']
}
with open("example.txt","w") as f:
json.dump(data,f)
json.dump(python数据 , 文件),dump可以直接将python数据转为json字符串,并存于文件中
3.反序列化(解码) – 将 JSON 字符串转换回 Python 对象:
with open("example.txt","r") as f:
content = f.read()
print(content,type(content))
datas = json.loads(content)
print(datas, type(datas))
json.loads()将文件中存储的json字符串转为python数据类型
4.load读取文件:
with open("example.txt","r") as f:
datas = json.load(f)
print(datas, type(datas))
json.load()直接将文件中存储的json字符串转为python数据类型并存储进文件中
在python中json和pickle都可以使用dumps、dump、loads、load,
比较 JSON 和 Pickle
三、os模块
1.chdir()更改当前文件路径
import os
path = "/tmp"
# 查看当前工作目录
path = os.getcwd()
# 修改当前工作目录
os.chdir( path )
# 查看修改后的工作目录
retval = os.getcwd()
print ("目录修改成功 %s" % retval)
2.listdir()列出当前路径下的所有文件
import os
# 打开文件
path = "D:\python2407\python基础语法"
dirs = os.listdir( path )
# 输出所有文件和文件夹
for file in dirs:
print (file)
3.exists()判断当前路径是否存在,如果路径 path 存在,返回 True;如果路径 path 不存在或损坏,返回 False。
print(os.path.exists("f:\Program\hello.txt"))
print(os.path.exists("D:\python2407\python基础语法"))
4.abspath()返回一个文件夹的绝对路径和dirname()返回一个文件路径的父级路径
print(os.path.abspath("D:\python2407\python基础语法"))
print(os.path.dirname("D:\python2407\python基础语法"))
5.mkdir()创建一个文件rmdir()删除一个文件
os.mkdir("D:\python2407\ixie")
os.rmdir("D:\python2407\ixie")
rmdir()则可将文件删除
作者:dhudhj