*****1.python的文件IO

首先明确一点,现代计算机的操作系统都不允许程序直接操作磁盘的,所以读取文件和写入文件都是有操作系统提供的提供的接口完成的,每一种编程语言都会把操作系统提供的低级C接口封装起来方便使用,Python也不例外。python是怎么样读取文件的。

1、文件的读取

使用open语句进行文件的打开操作,括号里面指明文件的位置和阅读的模式,'r'只读,还是'w'写入.中间用逗号隔开,位置与模式分别使用引号。

文件打开成功,可以使用read()方法进行一次性全部读取到计算机内存中,并用一个字符串对象表示,

如果文件是空的,返回  ''

使用 read() 方法危险之处在于如果文件过大,计算机内存就会爆满,可以使用更加安全的方法。

read(size)表示每次最多读取size字节的内容
readline()表示每次读取一行的内容
readlines()表示一次读取所有内容并按行返回list

2、文件的写入

首先打开文件,指定写入模式:

f= open ('C:/Users/Administrator/Desktop/test.txt','w')

写入内容:

f.write('hello,world')

这是文本已经写人文件。

3、关闭文件

打开的文件对象会占用系统的资源,所以要进行关闭操作,另外操作系统同一时间能打开的文件数量也是有限的,及时关闭文件是良好的代码书写习惯。

f.close()

至此一个文件的读取、写入、关闭完成。

注意的是使用IO读写很可能会发生错误,这是因为文件依旧打开但是使用close()会失去调用,为了保证无论是否出错我们都能正确的关闭文件,使用python中的try finally来实现。

try:
    f = open('test.txt', 'r')
    print(f.read())
finally:
    if f:
        f.close()

使用with语句来自动帮我们调用close()方法:

with open('test.txt', 'r') as f:
     print(f.read())

try ... finally是一样的,但是代码更佳简洁,并且不必调用f.close()方法。

常见的文件打开模式:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
 
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
 
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
 
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
 
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
 
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
 
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
 
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
 
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
 
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
 
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
 
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

最后注意:

 在Windows资源管理器中的文件地址位置使用的"\",但是在python中的读取时路径要使用"/"否则会出现错误。

 

posted @ 2018-06-18 19:52  liang哥哥  阅读(108)  评论(0)    收藏  举报