【纯文本教程】大学专科的Python基础开发课?p=36
“Python基础开发”课程_课堂笔记(HTML版_036)
Class notes of "Python basic development",this webPage is thirty-sixth page.
本页面没有“代码demo索引”。
- 读字符函数有三个:
- 第一个是“read()”函数
- 第二个是“readline()”函数
- 第三个是“readlines()”函数
7.2.3 “readline ()”函数
读一行函数——“readline()”函数,的格式是
文件对象.readline()
有三个规则:
- 第一个是“readline()”函数返回一行字符串,读到有换行符(\n)为止
- 第二个是“readline()”函数的返回的结果包含“\n”,
- 第三个是如果到了文件尾部,再次读取,后面就是空字符串。
可以参考以下示例代码,进行理解:
def writeFile():#保存文件——如果没有,那就新建;如果存在,那就覆盖。
fobj = open("file_test.txt","wt")
fobj.write("abc\nxyz")#这个“\n”(换行符)是看不见的
fobj.close()
def readFile():
fobj = open("file_test.txt","rt")
s = fobj.readline()#读取一行
print(s,"length:",len(s))
s = fobj.readline()#复制一遍
print(s,"length:",len(s))
fobj.close()
try:
writeFile()
readFile()
except Exception as err:
print(err)
运行以上示例程序,结果如下:
>>>
====================== RESTART: D:\code\Python2020_demo.py =====================
abc
length: 4
xyz length: 3
>>>
这里的第一行的长度是“4”,就是包括“换行符”,虽然“\n”的二进制是01011100 01101110(>>> print(chr(92)+chr(110))),确实是两字节,但是计算字符数的时候,只占一个字符。
刚才是知道有两行,所以就写了两遍,而为了测试第三个功能,就又写了一遍——而如果是有成千上万行,就不方便了,所以,需要写一个循环
def writeFile(): # 保存文件——如果没有,那就新建;如果存在,那就覆盖。
f = open("file_test.txt", "wt")
f.write("abc\nxyz") # 这个“\n”(换行符)是看不见的
f.close()
def readFile():
f = open("file_test.txt", "rt")
go_on = 1 # 假设有内容
st = "" # 定义一个空字符串,用来存放读取到的结果
while go_on == 1:
s = f.readline() # 有结果,就读取一行
if s != "":
st = st + s # 如果不为空,就放到读取结果里面
else:
go_on = 0 # 只要读取结果为空了,就退出循环
f.close()
print(st)
try:
writeFile()
readFile()
except Exception as err:
print(err)
运行以上示例程序,结果如下:
>>>
====================== RESTART: D:\code\Python2020_demo.py =====================
abc
xyz
>>>
7.2.4 “readlines()”函数
“readlines()”函数是读取全部行,每行都用“\n”(换行符)分开,一般是用for循环:
def write_file():
f = open("file_test.txt", "wt")
f.write("abc\n尝试添加简体中文\nxyz") # 这个“\n”(换行符)是看不见的
f.close()
# 一次性读全部行的代码量,要比逐行读取少很多
def read_file():
f = open("file_test.txt", "rt")
for x in f.readlines():
print(x,end='')
f.close()
try:
write_file()
read_file()
except Exception as err:
print(err)
运行上面的示例程序,结果如下:
>>>
================ RESTART: D:\code\python_code\Python2020_demo.py ===============
abc
尝试添加简体中文
xyz
>>>
第36堂课,是简单了解两个字符读取函数怎么用。
本页面(?p=36)的实际上课时间为2020年5月20日第2小节课。
浙公网安备 33010602011771号