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

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

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

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

TIPS:本系列网页旨在给读者提供一个了解Python语言的思路,基本不翻译帮助文档。


7.2.2 “read()”函数

使用“read()”函数,从指定的文件中,读取字符,调用形式,一般有两种格式:

文件对象. read()——读取整个文件的内容

文件对象. read(n)——读取n个字符,超出实际长度时,此参数无效。

  • 【注意事项1】使用前提是设置“只读方式”打开,指针会自动向后移动;
  • 【注意事项2】可以读取多行——“\n”、“\r”、“\r\n”都是换行符;
  • 【注意事项3】参数说明(略)

以下是本知识点的示例代码:

def writeFile():#“写函数”主要是用来新建文本文件
 fobj = open("F:/current_tasks/HTML5/file_test.txt","wt")
 fobj.write("2020-05-20\n08:40:00")
 fobj.close()

def readFile():
 fobj = open("F:/current_tasks/HTML5/file_test.txt","rt")
 s = fobj.read()#读取全部文件内容
 print(s)#全部显示
 fobj.close()

try:
 writeFile()
 readFile()
except Exception as err:
 print(err)

运行结果如下:

>>>
====================== RESTART: D:\code\Python2020_demo.py =====================
2020-05-20
08:40:00
>>>

 

同理,可以设置读取字符数

def writeFile():
 fobj = open("F:/current_tasks/HTML5/file_test.txt","wt")
 fobj.write("2020-05-20\n08:40:00")
 fobj.close()

def readFile(n):
 fobj = open("F:/current_tasks/HTML5/file_test.txt","rt")
 s = fobj.read(n)#从头开始读取指定个数字符
 print(s)#全部显示
 fobj.close()

try:
 n = int(input("n="))
 readFile(n)
except Exception as err:
 print(err)

 

由于“\n”占一个字符(存储空间里面是两个字节,所以这个文件的大小是20字节),是不显示的,因此,在这里拿16举例:

>>>
====================== RESTART: D:\code\Python2020_demo.py =====================
n=16
2020-05-20
08:40
>>>

 

如果文件指针到了文件尾部,再继续读取,那就返回一个空字符串,以下是示例代码:

def writeFile():#保存文件——如果没有,那就新建;如果存在,那就覆盖。
 fobj = open("F:/current_tasks/HTML5/file_test.txt","wt")
 fobj.write("2020-05-20\n08:40:00")
 fobj.close()

def readFile():
 fobj = open("F:/current_tasks/HTML5/file_test.txt","rt")
 go_on = 1#指针从头开始
 st = ""#定义一个空字符串,存储内容
 while go_on == 1:
  s = fobj.read(1)#从头开始读取指定个数字符
  if s != "":
   st = st + s#不为空,就写入数据
  else:
   go_on = 0
 fobj.close()#关闭,释放资源
 print(st)

try:
 writeFile()
 readFile()
except Exception as err:
 print(err)

运行上面的示例代码,结果如下:

>>>
====================== RESTART: D:\code\Python2020_demo.py =====================
2020-05-20
08:40:00
>>>

这种方法,由于是逐个字符读取,因此比一次性读取的耗时更长。

 


第35堂课,内容为简单了解“read()”函数如何使用,不涉及帮助文档。

本页面(?p=35)的实际上课时间为2020年5月20日第1小节课。

 

posted on 2020-06-12 07:30  机器人DX3906  阅读(119)  评论(0)    收藏  举报

导航