1.默认方法(需手动关闭)
# 打开后要自己关闭
heine = open('heine.txt')
poem = heine.read()
print(poem)
print(heine.closed) #获取是否关闭
heine.close() #只能手动进行关闭
print(heine.closed)
2.open使用后自动关闭
# 打开后会自动关闭 as后面是自定义的参数名字
# mode的参数类型有以下几种 默认为'r'
# 'a' - append, 'w' - write, 'r' - read, 'r+'读写操作覆盖,'w+','a+'
with open("heine.txt", mode='w') as heine:
heine.write("Write SomeThing\n")
with open("heine.txt", mode='r') as heine:
print(heine.read())
# 注意进行读或写操作时,指针将从读写操作结束时的下标开始
# .tell()告诉此时的下标位置 .seek将下标从0开始,(回归于0) .read(可带数字,代表一次读取多少位)
# readlines()获取的是一个List readline获取一行,下标从下一行开始,可以用seek归零
with open("heine.txt", mode='r+') as heine:
print(heine.tell())
heine.write("Write\n")
print(heine.tell())
print(heine.read())
heine.seek(0)
print(heine.read())
with open("heine.txt") as h:
for line in h:
print(line, end='')
f_content = h.read()
print(f_content)
h.seek(0)
f_list = h.readlines()
print(type(f_list))
print(f_list)
h.seek(0)
f_line = h.readline()
print(f_line)
h.seek(0)
f_numberOf = h.read(10)
print(f_numberOf)
# 中文文本需要加入encoding
with open("heine.txt", mode= 'w',encoding="utf-8") as f:
f.write("我是一只小毛驴,一只小毛驴")
with open("heine.txt", mode= 'r',encoding="utf-8") as f:
print(f.read())
# 打开二进制文件
# mode 用"rb" 二进制文件后面加入b
# 路径可以为图片或者音频
with open("cat.jpg", "rb") as r_image:
with open("cat_copy.jpg", "wb") as w_image:
chunk_size = 4096 #4k的大小
r_image_chunk = r_image.read(chunk_size)
while len(r_image_chunk) > 0:
w_image.write(r_image_chunk)
r_image_chunk = r_image.read(chunk_size)