读书笔记 | Python学习之旅 Day8

Python学习之旅 读书笔记系列

Day 8

《Python编程从入门到实践》

第10章 文件和异常

知识点
  • 文件的处理(书本本章内容主要针对文本文件)
  • 读取文件
    • with open(‘文件名’) as file_object:
    • 变量 = file_object.read()
    • print(变量.rstrip())
      • with 方便在不需要访问时关闭文件,防止异常丢失或受损
      • read 方法是读取全部内容
      • rstrip 删除末尾空行 (注意文件尾 + print本身,会有两空行)
      • '文件名' 可指定相对/绝对文件路径(\)
      • 得到的结果均为字符串,如做数值使用,需转换: int()或float()
  • 写入文件
    • with open(‘文件名’,实参2) as file_object:
      • 实参2有4种类型,默认为‘r’
        • 'r'(读取),'w'(写入),'a'(附加),'r+'(读取和写入)
      • 文件名不存在时,会自动创建
      • 当模式为‘w’时,如果文件已存在,则先清空(要特别小心)
      • 'a'附件模式时,写入行自动添加到末尾,不覆盖之前内容
      • Python只能把字符串写入文本,如果是数值,需转换:str()
    • 写入多行 : 末尾添加换行符 ‘\n’(制表符,空格同理)
  • 处理异常
    • try-except-else
      • try 要放在执行语句前
      • except 当出现错误时,执行后面的
        • 两种错误: ZeroDivisionError (除0), FileNotFoundError(找不到文件)
        • 要学会预测可能出现的错误
        • 可用语句提醒输入 / pass 什么都不做(还充当占位符)
      • else 后接正常运行语句
      • 只要程序依赖外部因素,如输入等,就可以能出现异常
  • 分析文本(获取单词数,只是如何过滤重复的词汇未提及?)
    • 方法: 文件名.split() 计算多少个单词
    • 以空格为分隔符拆分以便统计
  • 存储数据:模块json
    • JSON(JaveScript Object Notation),最初由JaveScript开发
    • 如果不存储,程序停止用户信息将丢失
    • 先 import json
    • josn.dump(实参1,实参2) 存储数据
      • 实参1:数据
      • 实参2:文件名
      • 待确定多次使用时是追加还是覆盖?
    • josn.load(实参1)
      • 实参1:文件名
  • 重构
    • 把代码划分成一系列完成具体工作的函数
    • def 函数() 针对不同功能切分开
其他
  • 感受
    • 文件读取时,未提及其他文件格式,如excel,后续看另一本书了解
    • 要留意Python只能把字符串写如文本,这个要记得按需事先调整格式
    • 在写代码时,面对有输入的部分,要尽可能多想可能出现的错误
    • 如果还不确定错误应对方式,可用pass作为占位符后续再丰富
    • 分析单词时,如何过滤重复值,这个题目自己要进一步思考完成
    • 重构的练习只能靠多练习才会有感觉和提高

你可能感兴趣的:(读书笔记 | Python学习之旅 Day8)