本页面没有“代码demo索引”。
读一行函数——“readline()”函数,的格式是
文件对象.readline()
有三个规则:
可以参考以下示例代码,进行理解:
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
>>>
“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小节课。
原文:https://www.cnblogs.com/Robot-DX3906/p/13097422.html