读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。
###MAC 中如何知道文件的路径呢
- 直接将文件拖到终端中
- 在finder里,对选中的文件,cmd+opt+c,就复制到剪贴板了。
1,基本使用
使用Python内置的open()函数,传入文件名和标示符,标示符’r’表示读,这样,我们就成功地打开了一个文件。
调用read()方法可以一次读取文件的全部内容,Python把内容读到内存,用一个str对象表示:
最后一步是调用close()方法关闭文件。
with open('/path/to/file', 'r') as f:
print(f.read())
- 调用read(size)方法,每次最多读取size个字节的内容。
- 调用readline()可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list。
1-2,文件路径
file_path = "/Users/niehongbo/Demo/tlp.txt"
with open(file_path) as file_object
1-3,逐行读取
为何会出现空白行,因为在调取文件行的时候,每行末尾都有一个看不见的换行符,
print语句也会加上一个换行符,因此每行末尾都有两个换行符,
在print语句中使用 rstrip( ):
1-4 创建一个包含文件各行内容的列表
使用关键字 with 时,open() 返回的文件对象只能在with代码块可用,
如果在with代码块外访问文件的内容,可在with代码块内将文件内容的各行存储在一个列表中。
并在with 代码块外使用该列表。
python 中读取文件时,将其中的所有文本都解读为字符串,
如果你读取的是数字,并将其作为数值使用,就必须使用函数 init()
或使用函数 float() 将其转化为浮点数。
可以使用方法 replace( ) 将字符串中的特定单词都替换成为另一个单词。
2, 写入文件
2-1 写入空文件
打开文件时,可指定读取模式(‘r’),写入模式(‘w’),附加模式(‘a’)
或者,能够读取和写入文件模式(‘r+’)
python只能将字符串写入文本文件,要将数值数据存储到文本文件中,必须先使用函数str( )
将其转换为字符串格式。
2-2,附加到文件
如果,你要给文件添加内容,而不是覆盖原有的内容,可以 附加模式 打开文件。
你以附加模式打开文件时,Python将不会在返回文件对象前清空文件,而你写入
到文件的行都将添加到文末末尾。