Python学习笔记——读写相关的os、pickle、StringIO、BytesIO模块

内容整理自廖雪峰官网和学习视频

os

import os #系统模块-常用命令

print(os.name)#输出正在使用的平台 windows-nt

print(os.getcwd())#当前目录名

print(os.listdir())#返回指定目录的文件夹中所有文件

os.chdir(‘C:\Users\Violette\Desktop\’)#更改当前所在目录

os.remove(‘test.txt’)#删除当前目录下的文件

os.path.splitext()#将文件名和扩展名分开

os.path.split()#将文件路径和文件名分开

os.path.exists(‘C:/Users/Violette/Desktop/test.txt’)#判断文件或路径是否存在,存在传回

pickle

pickle模块
数据序列化,将程序中运行的对象信息以pkl格式储存在磁盘上
反序列化,从文件中创建上一次程序保存的对象
pickle.dump()、pickle.load()

import pickle

l={'AAA':111,'BBB':222,'CCC':333}
print(l)
#存储 'wb' 'pickle.dump()'
pic=open('data.pkl','wb')#生成的pkl文件可能是乱码,但是可以被读取为字典
pickle.dump(l,pic)#写入内容和写入的文件
pic.close()
#读取 'rb' 'pickle.load()'
pic=open('data.pkl','rb')
d=pickle.load(pic)
print(d)
内存读写

内存中读写str或bytes

StringIO

注意str.strip在读写中这个用法

from io import StringIO
#写入
f1 = StringIO()#先创建
f1.write('Love')#write写入str
f1.write(' Python')
print(f1.getvalue())#getvalue()获取写入后str
#Love Python
f1.close()

#读取
f = StringIO('Still\n Moving\nUnder\nGunfire')
while True:
    s = f.readline()#按行读取
    if s == '':
        break
    print(s.strip())
    #strip移除字符串头尾指定的字符(默认为空格或换行符)或字符序列
    #只能删除开头或结尾的字符
'''
Love Python
Still
Moving
Under
Gunfire
'''
BytesIO

操作二进制数据,读写bytes
这部分没有实操 就直接复制了廖雪峰

#写
>>> from io import BytesIO
>>> f = BytesIO()
>>> f.write('中文'.encode('utf-8'))
6>>> print(f.getvalue())
b'\xe4\xb8\xad\xe6\x96\x87'
#读
>>> from io import BytesIO
>>> f = BytesIO(b'\xe4\xb8\xad\xe6\x96\x87')
>>> f.read()
b'\xe4\xb8\xad\xe6\x96\x87'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值