Python - I/O 文件读写 内存读写

来源:互联网 发布:淘宝文胸推荐知乎 编辑:程序博客网 时间:2024/05/17 00:51
# -*- coding=utf-8 -*-import string, os, sysimport StringIOreload(sys)sys.setdefaultencoding('utf-8')# open()函数 读文件的模式打开一个文件对象 # 先获取文件的绝对路径 如:/Users/jackson/Code/Python/money.txtm = os.path.abspath("money.txt")# open()函数 r 方式打开文件 如:<open file '/Users/jackson/Code/Python/money.txt', mode 'r' at 0x102ad4660>f = open(m , "r" )print f# read()函数 读出文件内容至内存print(f.read())# readline()方法 读取每一行 print(f.readline())# readlines()方法 读取所有内容并返回一个listfor line in f.readlines():    print(line.strip())# read(size)方法 read()是一次读取文件所有内容 如果超过10G内存会爆,read(最多读取size个字节的内容)print(f.read(100))# close() 函数 关闭文件 文件对象会占用操作系统资源,操作系统同一时间能打开的文件数量也是有限的,如果读取文件出差,close()方法不会执行,f.close()# 为了保证无论读取文件是否正常都能关闭文件,简化方法如下with open(m, 'r') as f:    print(f.read())# write()写入文件 先写入内存,如果不调用close()方法,可能文件写入不完整f = open(m, 'w')f.write('Hello, world!')f.close()# 重复读写 简化方法with open(m, 'w') as f:    f.write('Hello, world!!')# r  打开只读文件,该文件必须存在。 # r+ 打开可读写的文件,该文件必须存在。 # w  打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。 # w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。 # a  以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。 # a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 # StringIO 内存读写 只能操作str数据from io import StringIO# 创建一个 StringIO f = StringIO()# write () 方法写入 注意:写入好像只认unicode 所以在前面加了一个uf.write(u'hello')f.write(u' ')f.write(u'world')f.getvalue() 方法用于获得写入后的strprint(f.getvalue())# BytesIO 内存读写 操作二进制数据from io import BytesIO# 创建一个 BytesIO()f = BytesIO()f.write("如家")print(f.getvalue())

0 0
原创粉丝点击