[python]文件访问读取和改写

来源:互联网 发布:seo服务公司 编辑:程序博客网 时间:2024/06/05 17:51

摘要:《Python核心编程》第3章例3.1和3.2扩展过程,和课后习题解决过程中的思考;os.linesep


例3.1目标:提醒用户输入一个(尚不存在的)文件名,然后由用户输入该文件的每一行,最后将所有文本写入文本文件。

原代码与注释笔记:



例3.2目标:提醒用户输入一个文件名,文件名不存在则报错,存在则将文本显示出来

原代码与注释笔记:



课后练习目标:

(0)用字符串对象的strip()方法删除每行结尾的空白,移除print语句结尾的逗号

(1)合并例3.1和3.2的程序

(2)添加一个功能,允许用户编辑一个已经存在的文件


思路:

关于合并程序。例3.1和例3.2都是直接执行的语句,为了合并程序,增加程序的可读性,将读和写的两个操作分别封装为函数方法,再定义一个主体函数,完成合并。关于新添加的功能。将该功能的流程设计为:先读取文本,询问用户想要修改第几行,再让用户编辑该行,然后将修改后的结果展示出来。


练习题代码和注释笔记:


后记:

(1)关于os.linesep:os.linesep是一个比较智能的方法,根据当前平台获取自身的值,比如在linux下为'\n‘,在windows下为'\r\n’,从而起到换行的的作用,即本身就算个字符串。

(2)练习代码的readout()函数有所改进,不再是逐行读取文件再关闭,而是在获取文件的所有内容后直接关闭文件,然后再从列表中读取文件的内容。

(3)新增功能使用情况: