文件优化及操作

读写模式之a模式

a 只追加模式
路径不存在情况,自动创建
with open(r'a.txt', 'a', encoding='utf8) as f:
          pass
如果路径存在:不回清空文件,在问价末尾添加内容
with open(r'a.txt', 'a', encoding='utf8') as f:
    f.write('\n现在好困,听茶都没劲')
# r, w, a读写模式都只能操错文本文件

文件操作方法

1.读系列
文件操作方法
with open(r'a.txt', 'r', encoding='utf8') as f:
  print(f.read()) # 一次性读取文件内的所有内容
  print(f.readline()) # 每次只读文件一行内容
  print(f.readlines()) # 读取文件所有的内容,组织何曾列表,每个元素师文件的每行内容
  print(f.readable()) # 判断当前文件是否具备去读的能力
  
2. 写系列
with open(r'a.txt', 'w', encoding='utf8') as f:
  f.write('克服困难,奥利给!) # 向文件内写入文本内容
  f.write(123) # 写入的内容必须是字符串类型
  f.write(['jason', 'kevin', 'tony']) # 可以将列表中多个字符串元素全部写入
  print(f.wretable()) # True 判断写的能力
  print(f.readable()) # false 判断读的能力

文件优化操作

with open(r'a.txt', 'r', encoding='utf8') as f:
    # print(f.read())  # 一次性读取文件内所有的内容
'''
1.一次性读完后,光标停留在文件末尾,无法再次读取内容。
2.该方法在读取大文件的时候,可能会造成内存溢出的情况
解决上述问题的策略是逐行读取文件内容
'''
for line in f: # 文件变量名f支持for循环,相当于一行行读取文件内容
# 以后涉及到多行文件内容的情况一般都是采用for循环读取

文件操作模式

t. 文本模式
1.默认的模式
r w a >>> rt wt at
2.该模式所有操作都是以字符串基本单位(文本)
3.该模式必须要指定 encoding 参数
4.该模式只能操作文本

b.二进制模式
1.该模式可以操作任意类型的文件
2.该模式所有操作都是以bytes类型为基本单位
3.该模式不用指定encoding 参数

# 使用次模式 需要  rb, wb, ab.
with open(r'a.txt', 'rb') as f:
  print(f.read())
 # b'\n\xe7\x8e\xb0\xe5\x9c\xa8\xe5\xa5\xbd\xe5\x9b\xb0,\xe5\x90\xac\xe8\x8c\xb6\xe9\x83\xbd\xe6\xb2\xa1\xe5\x8a\xb2'
英文数字直接识别,中文读取字节
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值