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

  • 可读性:JSON 是文本格式,易于阅读和编写;Pickle 是二进制格式,不便于阅读。
  • 跨语言:JSON 是跨语言的,可以被多种编程语言解析;Pickle 仅限于 Python。
  • 复杂性:Pickle 可以序列化几乎所有的 Python 对象,包括函数、类等;JSON 只能序列化基本数据类型和对象。
  • 安全性: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()则可将文件删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值