8.Python-文件读写

文件读写

写入测试文件:%%writefile test.txt

读文件

open 函数或file 函数,例如f = open('test.txt')f = file('test.txt')
file_obj=open(filename, mode='r', buffering=-1,...)

buffering为可选参数,默认为-1,0代表不缓冲,正数表示缓冲区大小。二进制文件可以不使用缓冲,文本文件必须使用缓冲

Mode Function Mode Function
r 以读模式打开 rb 以二进制读模式打开
w 以写模式打开(文件不存在会被创建,存在时清空原内容) wb 以二进制写模式打开(参见w)
a 以追加模式打开(从EOF开始,必要时创建新文件) ab 以二进制追加模式打开(参见a)
r+ 以读写模式打开 rb+ 以二进制读写模式打开(参见r+)
w+ 以读写模式打开(清空原内容) wb+ 以二进制读写模式打开(参见w+)
a+ 以读和追加模式打开 ab+ 以二进制读写模式打开(参见a+)

文件相关函数

Mode Function
f.read() file_obj.read(size) 从文件读出size字节数据,返回字符串;file_obj.read(size)接着读文件直到文件结束,返回字符串
f.write() 写入数据
f.readline() 读取一行数据
f.readlines() 读取多行数据
f.writelines() 写入多行数据
f.close() 关闭文件可以保证内容已经被写入文件,
f.seek() 在文件移动文件指针fil_obj.seek(offset, wherence=0) 从wherence(0表示在文件头部,1表示当前位置,2表示文件尾部)偏移offset个字节

例: 将文件companies.txt的字符串前加上1,2,3,...后写到另一个文件scompanies.txt

with open('companies.txt') as f1:
    cNames=f1.readlines()
    for i in range(0, len(cNames)):
        cNames[i]= str(i+1) + '' +cNames[i]
with open('scompanies.txt', 'w') as f2:
    f2.writelines(cNames)

因为with语句在执行后会主动关闭文件句柄,所以不用写入close语句

文件具有文件指针,指针会随着我们的操作移动,所以有时要修改指针位置。例如:

f.writelines(s)
f.seek(0)  #为了读出写入的内容,将指针移到文件开头
x=f.readlines()
print(x)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容