Python3文件io操作

打开或者关闭文件使用open()函数

打开代码:

fo = open("D:/io/a/picture.png","rb")#第一个参数是你要访问文件的路径,第二个参数是打开文件的模式。

第二个参数详解:

r:以只读方式打开文件,文件的指针将会放在文件的开头,这是默认模式

rb:以二进制打开一个文件用于只读,同上下划线部分。


r+:打开一个文件用于读写,文件的指针将会放在文件的开头。

     rb+:以二进制打开一个文件用于读写,同上下划线部分。


w:打开一个文件只用于写入,如果文件已存在,则将其覆盖,如果文件不存在,则创建新文件

wb:以二进制打开一个文件用于写入,同上下划线部分。


     w+:打开一个文件只用于读写,如果文件已存在,则将其覆盖,如果文件不存在,则创建新文件

wb+:以二进制打开一个文件用于读写,同上下划线部分。


a:打开一个文件用于追加,如果该文件已存在,文件将会写入已有内容后面,如果该文件不存在,则创建新

   文件进行写入

ab:以二进制格式打开一个文件用于追加,同上下划线部分。


a+:打开一个文件用于读写,如果该文件已存在,文件将会写入已有内容后面,如果该文件不存在,则创建新

   文件进行读写

ab+:以二进制格式打开一个文件用于追加,同上下划线部分。

读取:
read(n=-1):直接读取n字节到字符串中,不指定n则全部读完

readline():读取打开文件的一行, 包括行结束符(去掉:line.strip())

readlines():读取所有剩余行,作为字符串列表返回


示例代码:

f = open("D:/io/a/文件原名称.txt")
of = open("D:/io/b/文件新名称.txt","w")
line = f.readline()
for line in f:
    print(line)
    of.write(line)
print("传文件成功")


序列化与反序列化:

通过将对象序列化可以将其存储在变量或者文件中,可以保存当时对象的状态,实现其生命周期的延长。

并且需要时可以再次将这个对象读取出来。Python3中有几个常用模块可实现这一功能。

pickle模块:

存储在变量中

dumps():返回存入的字节

a = {'name': 23, 'age': '19'}
b = pickle.dumps(a)

print(b)

输出:

b'\x80\x03}q\x00(X\x04\x00\x00\x00nameq\x01K\x17X\x03\x00\ 

x00\x00ageq\x02X\x02\x00\x00\x0019q\x03u.'

loads():读取数据
c= pickle.loads(b)
print(
c)


存储在文件中:
序列化:
with open('D:/io/b/b.txt', 'wb') as f:
    a = {'name': '张三', 'age': 19}
   pickle.dump(a, f)
反序列化:
with open('D:/io/b/b.txt', 'rb') as f:
    aa = pickle.load(f)
    print(aa)
    print(type(aa))  

输出结果:

<class 'dict'>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值