01Python基础_06文件读写

  1. 读取文件

  使用 open 函数或者 file 函数来读文件,使用文件名的字符串作为输入参数

1 #读取文件内容
2 
3 f = open('test.txt')
4 
5 print(f.read())             #读取文件全部内容
6 print(f.readline())         #读取文件第一行
7 print(f.readlines())        #返回一个列表,每个元素代表一行
8 
9 f.close()                   #关闭文件

  

方法描述
read() 一次读取文件所有内容,返回一个str
read(size) 每次最多读取指定长度的内容,返回一个str;在Python2中size指定的是字节长度,在Python3中size指定的是字符长度
readlines() 一次读取文件所有内容,按行返回一个list
readline() 每次只读取一行内容

  遍历打印文件中每一行:

1 with open('song.txt', 'r', encoding='utf-8') as f:
2     for line in f.readlines():
3         print(line)

  或:

1 with open('song.txt', 'r', encoding='utf-8', newline='') as f:
2     for line in f:
3         print(line)

  2. 写文件

  open()默认已r模式打开文件,要想写入,需已w模式打开文件。以w模式打开时,如果文件不存在则创建文件,如果文件存在则覆盖之前的内容。

1 #写入文件
2 
3 f = open('test.txt', 'w')   #使用w模式打开文件
4 f.write('hello world!')     #写入内容
5 f.close()                   #关闭文件
文件打开模式描述
r 以只读模式打开文件,并将文件指针指向文件头;如果文件不存在会报错
w 以只写模式打开文件,并将文件指针指向文件头;如果文件存在则将其内容清空,如果文件不存在则创建
a 以只追加可写模式打开文件,并将文件指针指向文件尾部;如果文件不存在则创建
r+ 在r的基础上增加了可写功能
w+ 在w的基础上增加了可读功能
a+ 在a的基础上增加了可读功能
b 读写二进制文件(默认是t,表示文本),需要与上面几种模式搭配使用,如ab,wb, ab, ab+(POSIX系统,包括Linux都会忽略该字符)

  3. 关闭文件

  关闭文件可以保证内容已经被写入文件,而不关闭可能会出现意想不到的结果。使用close()关闭文件。

  可以用try...finally来保证文件无论如何都能被关闭:

1 #写入文件
2 try:
3     f = open('test.txt', 'w+')      #使用w+模式打开文件
4     f.write('hello world!')         #写入内容
5 finally:
6     if f:
7         f.close()
8         print('file has been closed. ')

  事实上,Python提供了更安全的方法,当 with 块的内容结束后,Python会自动调用它的close 方法,确保读写的安全:

1 #写入文件
2 with open('test.txt', 'w') as f:
3     f.write('hello world!')         #写入内容
4 print(f.closed)             #返回True
原文地址:https://www.cnblogs.com/zhangyide/p/7874944.html