首页 > 编程语言 > 详细

【纯文本教程】大学专科的Python基础开发课?p=36

时间:2020-06-12 10:49:20      阅读:36      评论:0      收藏:0      [点我收藏+]

“Python基础开发”课程_课堂笔记(HTML版_036)

Class notes of "Python basic development",this webPage is thirty-sixth page.

本页面没有“代码demo索引”。


    读字符函数有三个:
  1. 第一个是“read()”函数
  2. 第二个是“readline()”函数
  3. 第三个是“readlines()”函数

7.2.3 “readline ()”函数

读一行函数——“readline()”函数,的格式是

文件对象.readline()

有三个规则:

  1. 第一个是“readline()”函数返回一行字符串,读到有换行符(\n)为止
  2. 第二个是“readline()”函数的返回的结果包含“\n”,
  3. 第三个是如果到了文件尾部,再次读取,后面就是空字符串。

可以参考以下示例代码,进行理解:

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小节课。

 

【纯文本教程】大学专科的Python基础开发课?p=36

原文:https://www.cnblogs.com/Robot-DX3906/p/13097422.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!