1. 读文件
1.
2.
3.
4. f.read(size):size:一次读取文件多少的字节
f.readlines():按行读取,读取的内容以列表返回
f.readline():一行一行 读取
5.
6. 由于文件读写都有可能产生IOError,一旦出错,后面的f.close()就不会调用,所以,为了保证文件是否执行出错都能够正确的关闭文件,我们可以使用try … finally来实现.
try:
f = open('/path/demo/file','r')
print(f.read())
finally:
if f:
f.close()
7. 另一种关闭文件的方法:(比较常用)
with open('/path/demo/file', 'r') as f:
print(f.read())
该语句会自动调用f.close()
2. 写文件
1. 写入普通文件,with open(path,"w",encoding="utf-8") as f:
f.write(str):写入的一定是字符串类型
path:若此路径存在,则覆盖此文件,若不存在,则创建文件.
"a"模式下,追加文件内容.写入普通文件,with open(path,"a",encoding="utf-8") as f:
2.
3.
4. 以'w'模式写入文件时,如果文件已经存在,直接覆盖(相当于删掉后新写入一个文件),如果我们希望追加到文件的末尾怎么办?可以传入'a'以追加模式写入.
with open('/users/demo/test.txt', 'a') as f:
f.write('hello, world')
3. StringIO
1.
2. 要把str写入StringIO,我们需要先创建一个StringIO,然后像文件一样写入即可.
from io import StringIO
f = StringIO()
f.write("hello")
f.write(" ")
f.write('world')
#获取写入后的str
print(f.getvalue())
4. 二进制文件
1.
2. f = open('/users/demo/gbk.txt','r',encoding = 'gbk',errors = 'ignore')
5. ByteIO
1.
2. from io import BytesIO
f = BytesIO()
f.write("中文".encode('utf-8'))
print(f.getvalue())
3. from io import BytesIO
f = BytesIO(b'\xe4\xb8\xad\xe6\x96\x87')
f.read()
b'\xe4\xb8\xad\xe6\x96\x87'
6. JSon
1.
2. json.dumps(obj):将obj序列化为json字符串
a = {'name': 'wang', 'age': 29}
b = json.dumps(a)
3. json.loads(s):将json字符串反序列化为Python的基本数据类型.
name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'}
jsDumps = json.dumps(name_emb)
jsLoads = json.loads(jsDumps)
{"a": "1111", "c": "3333", "b": "2222", "d": "4444"}
{u'a': u'1111', u'c': u'3333', u'b': u'2222', u'd': u'4444'}
<type 'str'>
<type 'dict'>
4.
7. 读写cvs文件
PYTHON 读改写bin 文件
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Sora凭空而来,将改写什么?
让大厂都坐不住的Sora来了!怎么为人所用?
视频压缩 数据 语言模型 AI 人工智能 -
Python源文件改写
Python源文件改写。编写一个程序,读取一个Python源程序文件source.py,将
python Python 保留字 源程序 -
使用 TiKV 读改写 TiDB 数据
需要,我一度尝试将tidb 的使用范围更大话,同时目前大数据开发中,内存当做堆料,对于公司的开支...
tidb tikv https client- github