[python]文件访问读取和改写
摘要:《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)新增功能使用情况: