Python学习_任务8_文件读写

文件读写是支撑起人类世界的基本功能之一

# - Tutorial 8
# - 2020-2-7
# - Johan
# - 题目:
#   1、从文件读取数据
#   2、写数据到文件

"""
包含语法:
1、文件读写
2、列表操作
3、异常处理
"""

# 读文件,读取到两个列表
num = []
name = []
index = [1, 2, 3]
i = 1
try:
    file = open('demo.txt', 'r')
except IOError:
    print('Fail to open the file.')
else:
    while line := file.readline():
        if i in index:
            num.append(line)
            i += 1
        else:
            name.append(line)
            i += 1
    file.close()
    print(num)
    print(name)

# 写文件,写入100以内所有奇数
try:
    file = open('write.txt', 'w')
except IOError:
    pass
else:
    array = list(range(1, 100, 2))
    for i in array:
        file.write('%d\n' % i)
    print('Write over.')
    file.close()

运行结果:

代码中有个except块中有个pass语句

这个pass关键字其实就是干这个的,有点像C语言里面单独的一个空代码块或分号,表示无操作,凑位置使得语法正确

所以在这种想不出来要作甚的地方,就可以用个pass

其中,文件打开时有以下一些方式:

r只读方式打开,指针在文件开头,默认模式
rb二进制格式打开文件,指针在开头
r+打开一个文件用于读写,指针在开头
rb+二进制格式打开一个文件用于读写,指针在开头
w打开文件只用于写,若文件已存在则打开文件并从开头开始编辑,原有内容删除,如果文件不存在则创建新文件
wb二进制格式打开文件只用于写,若文件已存在则打开文件并从开头开始编辑,原有内容删除,如果文件不存在则创建新文件
w+打开文件用于读写,若文件已存在则打开文件并从开头开始编辑,原有内容删除,如果文件不存在则创建新文件
wb+二进制格式打开文件用于读写,若文件已存在则打开文件并从开头开始编辑,原有内容删除,如果文件不存在则创建新文件
a打开文件用于写,若文件已存在则打开文件从末尾开始追加,如果文件不存在则创建新文件
ab二进制格式打开文件用于写,若文件已存在则打开文件从末尾开始追加,如果文件不存在则创建新文件
a+打开文件用于读写,若文件已存在则打开文件从末尾开始追加,如果文件不存在则创建新文件
ab+二进制格式打开文件用于读写,若文件已存在则打开文件从末尾开始追加,如果文件不存在则创建新文件

关于读文件的操作要多一些,注意readline()、readlines()、read()的区别,其他还可以了解tell()、seek()的功能

可以看到以上代码中存在大量try-except的异常操作,代码多了会看上去很繁杂,Python提供一种with语句简化异常捕捉的代码

比如文件写过程可以简化为:

# 写文件,写入100以内所有奇数
with open('write.txt', 'w') as file:
    array = list(range(1, 100, 2))
    for i in array:
        file.write('%d\n' % i)
    print('Write over.')

Python还有个Pickle模块,可以用于数据序列和反序列化操作,很方便实用

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值