Python基础22:循环读取文件

# 循环读取文件
# 两种方式:
#     ①:while 循环读取,控制每次读取的量
#     ②:以行为单位,当一行过长影响性能
# 一般用第一种读取,因为某行很长,会影响程序性能


# 方式1:
with open(r"E:\PycharmProjects\demo01\Egon202003\b模式示例测试图.jpg", mode='rb') as f: #图片默认\n换行
    while True:
        res = f.read(1024) # 每次读取1024个字节
        print(len(res))
        if(len(res)==0):
            print("读取完了".center(20, "="))
            break
# 结果如下:
        # 1024
        # 1024
        # 1024
        # 1024
        # 829
        # 0
        # == == == == 读取完了 == == == ==


        # if not res:  # 习惯用第一种
        #     print("读取完了".center(20,"="))
        #     break
# 结果如下:
        # 1024
        # 1024
        # 1024
        # 1024
        # 829
        # 0
        # == == == == 读取完了 == == == ==


# 方式2:
with open(r'E:\PycharmProjects\demo01\Egon202003\01python基础-22循环读取文件的文件', mode='rt', encoding='utf8') as f:
    # for line in f.read():  # 一个字符一个字符的读取
    #     print(line)
    #     # 1
    #     # 1
    #     # 1
    #     # 1
    #     # 1
    #     # 1
    #     # 1

    for line in f:  # 文本文件默认\n换行
        print(line, end='')
    # 1111111
    # 2222222
    # 3333333
    # 是是是是
    # 陈陈陈ch

with open(r"E:\PycharmProjects\demo01\Egon202003\b模式示例测试图.jpg", mode='rb') as f: #图片默认\n换行
    for line in f:
        print(line)
# b'x8a\x08\x9dP\xbf\x7f\x91\xf9m\xf8\\\xac\xcb\xc5S\xa6\x92\xf5,\xf3\x1a\xc6*\xe3\x7f\xee\x1e\xd1\xaed\x8a\n'
# b'\xaf^\xc7\xbf\xd2\n'
# b'N*\xee\x99(k\x1cV3\x01\x14\x88\x8dC\x05\x03}@\x8c\x90\x9b\x8e\xcai(\x1d\xf2\xa0\x07\x99\x8e\rwJ\xec0\x05z\n'
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值