文件打开方式的用法

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

 

以上是关于文件打开方式的用法的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 加载源图像固定用法(代码片段,不全)

linux打开终端如何启动scala,如何在终端下运行Scala代码片段?

小技巧

html 将以编程方式附加外部脚本文件的javascript代码片段,并按顺序排列。用于响应式网站,其中ma

RandomAccessFile的用法

SQL Select 语句的用法