file.read([size])
其中,file 表示已打开的文件对象;size 作为一个可选参数,用于指定一次最多可读取的字符(字节)个数,如果省略,则默认一次性读取所有内容。
Python教程
http://task.lmcjl.com/python/
#以 utf-8 的编码格式打开指定文件 f = open("my_file.txt",encoding = "utf-8") #输出读取到的数据 print(f.read()) #关闭文件 f.close()程序执行结果为:
Python教程
http://task.lmcjl.com/python/
#以 utf-8 的编码格式打开指定文件 f = open("my_file.txt",encoding = "utf-8") #输出读取到的数据 print(f.read(6)) #关闭文件 f.close()程序执行结果为:
Python
显然,该程序中的 read() 函数只读取了 my_file 文件开头的 6 个字符。#以二进制形式打开指定文件 f = open("my_file.txt",'rb+') #输出读取到的数据 print(f.read()) #关闭文件 f.close()程序执行结果为:
b'Python\xe6\x95\x99\xe7\xa8\x8b\r\nhttp://task.lmcjl.com/python/'
可以看到,输出的数据为 bytes 字节串。我们可以调用 decode() 方法,将其转换成我们认识的字符串。io.UnsupportedOperation
异常,提示文件没有读取权限:
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\file.py", line 3, in <module>
print(f.read())
io.UnsupportedOperation: not readable
UnicodeDecodeError
异常,其原因在于,目标文件使用的编码格式和 open() 函数打开该文件时使用的编码格式不匹配。UnicodeDecodeError
异常。#以二进制形式打开指定文件,该文件编码格式为 utf-8 f = open("my_file.txt",'rb+') byt = f.read() print(byt) print("\n转换后:") print(byt.decode('utf-8')) #关闭文件 f.close()程序执行结果为:
b'Python\xe6\x95\x99\xe7\xa8\x8b\r\nhttp://task.lmcjl.com/python/'
转换后:
Python教程
http://task.lmcjl.com/python/
本文链接:http://task.lmcjl.com/news/9869.html