# 循环读取文件
# 两种方式:
# ①: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
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64