第十章 文件和异常

文件

fileName = "pi_digits.txt"
# 读取文件 with的用法类似于C#的using块,可以确保资源能够被正确释放,即使过程中出现了异常
with open(fileName) as fileObj:
    contents = fileObj.read()

# 也可以手动调用open() close()处理
fileObj = open(fileName)
contents = fileObj.read()
fileObj.close()

print(contents)


# 逐行读取
with open(fileName) as fileObj:
    for line in fileObj:
        print(f"$${line.strip()}")

# 将每一行存储到一个列表中
with open(fileName) as fileObj:
    lines = fileObj.readlines()

for line in lines:
    print(f"<< {line.strip()}")


# 写入文件
outputName = "output.txt"
with open(outputName, "w") as fileObj:
    fileObj.write("123\n")
    fileObj.write("456\n")

# 追加写入
with open(outputName, "a") as fileObj:
    fileObj.write("789")

异常


# try catch
try:
    print(5/0)
except ZeroDivisionError:
    print("You can't divided by zero")
else:
    print("Success") # try成功后执行else内的代码

# 静默失败

try:
    print(5/0)
except ZeroDivisionError:
    pass  # 什么都不处理

Json

import json

array = [1, 2, 3]

# 序列化json
with open("array.json", "w") as file:
    json.dump(array, file)

# 反序列化json
with open("array.json") as file:
    newArray = json.load(file)

print(newArray)
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值