文件打开方式的用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件打开方式的用法相关的知识,希望对你有一定的参考价值。
1.r与r+、w与w+
r:只读,r+:读写,不创建
w:新建只写,w+:新建读写,二者都会将文件内容清零 (慎用)
(以w方式打开,不能读出。w+可读写)
w+与r+区别:
r+:可读可写,若文件不存在,报错
w+: 可读可写,若文件不存在,创建
2.a与a+、
以a,a+的方式打开文件,附加方式打开
a:以追加模式打开 (从 EOF 开始, 必要时创建新文件)附加写方式打开,不可读a+: 附加读写方式打开
7种常用的mode:
1.r(read缺省参数):已读的方式打开文件,不能调用write方法,当文件不存在时报错。
2.w(write):已写方式打开文件,能够写入内容并覆盖,不能调用read方法,如果文件不存在,则创建新同名文件。
3.a(append):已追加模式打开文件,可以进行写操作,如果恩健不存在,则创建同名文件。
4.+:使用+允许同时进行读写操作。
5.U:支持所有类型的换行符(\n、\r、\r\n)
6.b:表示对二进制文件进行操作(图片、视频)。
7.t:对文本文件进行操作。
读写文本文件:
1.读取文本文件
read()表示读取到文件尾,size表示读取大小。
f = open(‘test.txt‘, ‘r‘) print f.read()
seek(0)表示跳到文件开始位置。
f.seek(0) print f.read(14)
readline()逐行读取文本文件。
f.seek(0) print f.readline() print f.readline()
readlines()读取所有行到列表中,通过for循环可以读出数据。
f.seek(0) print f.readlines()
close()关闭文件。
f.close()
with open( ) as f 打开文件自动关闭
with open(‘/path/to/file‘, ‘r‘) as f: print(f.read())
2.写入文本文件
truncate()表示清空文件
f = open(‘test.txt‘, ‘r+‘) f.truncate()
write()写入文本
f.write(‘0123456789abcd‘)
seek(3)定位到第4个元素前,0表示文件开始,也就是第1个元素前。
read(1)读取一个字节,指针会根据读取的大小移动相应的位置。
tell()取得当前指针的位置。
f.seek(3) print f.read(1) print f.read(2) print f.tell()
#3
#45
#6
seek(3, 1)第二个参数默认是0,表示从文件开始处读取;1表示从当前位置开始计数;2表示从文件最后开始。
f.seek(3, 1) #从开头 print f.read(1)
#9
f.seek(-3, 2) #最后开始算 print f.read(1)
#b
3. 读取文件信息
# coding: utf-8 f = open(‘test.txt‘) print ‘文件名:‘, f.name print ‘是否处于关闭状态:‘, f.closed print ‘打开的模式:‘, f.mode
结果为:
...
文件名: test.txt
是否处于关闭状态: False
打开的模式: r
以上是关于文件打开方式的用法的主要内容,如果未能解决你的问题,请参考以下文章
linux打开终端如何启动scala,如何在终端下运行Scala代码片段?