Python蟒蛇书学习笔记——第十章 文件和异常

Python蟒蛇书学习笔记——第十章 文件和异常

#初稿完成时间:2022/7/4
#作者:XP钉子户(原号忘记密码了_(:з」∠)_)

​ 本章主要提到异常和json模块。异常是Python创建的特殊对象,用于管理程序运行时可能出现的错误;json模块可以帮助程序保存用户数据,避免程序停止运行后丢失数据。

​ 下面为本笔记的目录,可以点击目录跳转到对应的部分阅读。

10.1 从文件中读取数据

10.1.1 读取整个文件

​ 例如,与主程序存储在同一目录下的test.txt文件的内容如下:

3.1415926535 
  8979323846 
  2643383279

​ 若想读取test.txt的内容并打印出来,则实现方法为:

with open('test.txt') as file_object:
    contents = file_object.read()
print(contents)

​ 这其中,open()函数打开了同一目录所存储的test.txt,并返回了一个文件对象(命名为file_object),然后使用read()方法来读取文件的全部内容,最后将文件的内容输出到屏幕上。

​ 这里的"with"可以保证文件读取的操作只在语句内部适用,出了语句文件就会自动关闭。

​ 请注意,有些文件会在末尾留下换行符或者若干空格,若输出时不想输出换行符和空格,则可以用rstrip():

print(contents.rstrip())

10.1.2 相对文件路径和绝对文件路径

相对文件路径:为一种简略的写法,表示所操作的文件对应于主程序的位置。例如,当test.txt与main.py放在同一文件目录时,其相对文件路径可以直接写成’open.txt’;当test.txt放在main.py所在文件夹的子文件夹resources里面时,其相对文件路径为’resources//test.txt’。

​ 需要注意的是,尽管Windows系统不使用斜杠’/‘而是反斜杠’\‘,但是在Python里面仍然用斜杠表示。而且由于转义字符(如’\t’、‘\n’)可能会对文件路径产生干扰,文件路径里面所有的斜杠应该都进行转义,即’//'。

绝对文件路径:文件位于存储设备中的准确位置,与主程序的位置无关。例如D://Python//test.txt。

10.1.3 逐行读取

​ 读取文件时,常常不需要全部读取完文件的所有内容,而是逐个检查每一行,选取其中的若干行。此时可对文件对象使用for循环:

with open("test.txt") as file_object:
    for line in file_object:
        print(line)

​ 此时程序输出如下:

3.1415926535 

  8979323846 

  2643383279

​ 可以发现此时空白行变多了。这是因为每一行的末尾都有换行符,而函数在调用print()时也会默认加上一个换行符,因此每行末尾都有两个换行符:一个来自文件,另一个来自print()。根据10.1.1的说法,要想删去空白行,仅需调用rstrip()方法即可。

10.1.4 创建一个包含文件各行内容的列表

​ 若想在with代码块外使用文件各行内容,则可以在with代码块内把每一行的内容都存储到一个列表里。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值