使用python读取文件内容
在计算机要操作文件的套路非常固定,一共包含三个步骤:
1.打开文件
2.读、写文件
- 读:将文件内容读入内存
- 写:将内存内容写入文件
3.关闭文件
在python中,操作文件记住一个函数和三个方法
函数/方法 | 说明 |
---|---|
open | 打开文件,并且返回文件操作对象 |
read | 将文件内容读取到内存 |
write | 将指定内容写入文件 |
close | 关闭文件 |
- open函数负责打开文件,并且返回文件对象
- read/write/close 三个方法都需要通过文件对象来调用
读取文件
- open函数的第一个参数是要打开的文件名(文件名区分大小写)若文件存在,返回文件操作对象,若文件不存在,会抛出异常
- read方法可以一次性读入并返回文件的所有内容
- close方法负责关闭文件(注意要记得关闭文件)
- 若忘记关闭文件,会造成系统资源消耗,而且会影响到后续对文件的访问
- 注意:方法执行后,会把文件指针移动到文件的末尾
下面我们就以一个文本文件README.txt做个例子:
首先,创建文本文件README.txt,其内容为:
下面输入代码:
#1.打开文件
file = open("C:\Users\Admin\PycharmProjects\opp\README")
#若要打开的文件与此文件在同一个目录下:可直接file = open("README")
#2.读取文件内容
text = file.read()
print(text)
#3.关闭文件(很重要)
file.close()
执行结果如下:报错了
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
什么原因呢?
原因分析:在windows系统当中读取文件路径可以使用,但是在python字符串中\有转义的含义,如\t可代表TAB,\n代表换行,所以我们需要采取一些方式使得\不被解读为转义字符。目前有3个解决方案
1、在路径前面加r,即保持字符原始值的意思。
file = open(r"C:\Users\Admin\PycharmProjects\opp\README")
2、替换为双反斜杠
file = open("C:\\Users\\Admin\\PycharmProjects\\opp\\README")
3、替换为正斜杠
file = open("C:/Users/Admin/PycharmProjects/opp/README")
修改完成,最后运行结果如下:
可以看出读取文件内容成功
打开文件的方式
- open函数默认以只读方式打开文件,并且返回文件对象 ,所谓打开方式,就是在调用open函数时,传递的第二个参数
语法如下
f = open(“文件名”,“访问方式”)