python 基础:文件操作初识

一. 知识点

  1. 在 python 中常用的文件操作:只读、只写、追加、读写、写读…
    1> 只读:r、rb
    2> 只写:w、wb
    3> 追加:a、ab
    4> 读写:r+、r+b
    5> 写读:w+、a+
  2. 方法总结:
    1> f.close() :释放内存空间
    2> f.read():读
    3> f.write():写
    4> d.seek():光标定位

二. 代码练习

# 初识文件操作、只读操作 r
f = open('d:\大圣.txt', mode='r', encoding='utf-8')
content = f.read()      # 通过'f.'进行操作
print(content, type(content))
f.close()   # 释放内存
"""
注意的问题:
    - 以什么编码方式存储,就以什么编码方式打开,否则会乱码或者报错
    - 文件是以UTF-8打开的,文件是以UTF-8存储的,但在Python3中str是以Unicode编码的,所以读取出来是Unicode的str
    - 涉及到了内部 bytes ——> str 的操作
"""

# 只读操作 rb
f = open('d:\大圣.txt', mode='rb')
content = f.read()
print(content)
f.close()
"""
- rb 对应着 bytes 类型,用在非文字类的文件的打开、存储,以及文件的上传下载...
"""

# 只写操作 w
f = open('大圣', mode='w', encoding='utf-8')
f.write('PYTHON')
f.close()
"""
- 对于写操作w,没有此文件则自动创建文件并写入
- 有此文件则先清除原文件的所有内容,然后再写
"""

# 只写操作 wb
f = open('d:\大圣.txt', mode='wb')
f.write('遇见未知的自己'.encode('utf-8'))
f.close()
"""
- 对于写操作wb,以什么方式写,应该以原文件的编码方式为准
"""

# 追加操作 a
f = open('d:\大圣.txt', mode='a', encoding='utf-8')
f.write('遇见未知的自己')
f.close()

# 追加操作 ab
f = open('d:\大圣.txt', mode='ab')
f.write('遇见未知的自己'.encode('utf-8'))
f.close()

# 读写操作 r+
f = open('d:\大圣.txt', mode='r+', encoding='utf-8')
print(f.read())
f.write('淡定的人生不寂寞')
f.close()

# 读写操作 r+b
f = open('大圣', mode='r+b')
print(f.read())
f.write('淡定的人生不寂寞'.encode('utf-8'))
f.close()

# 写读操作 r+
f = open('大圣', mode='r+', encoding='utf-8')
f.write('JJ')
print(f.read())
f.close()
"""
- 第一步写操作光标在最前面,写多少占多少位,读出来的为没有被写的部分
- 原文件:PYTHON
- 写文件:JJ
- 读文件:THON
- 写之后的原文件:JJTHON
- 注意在r+模式下,读写是正常的,而写读则是从最前面开始写多少占多少位
"""

# 写读操作 w+
f = open('大圣', mode='w+', encoding='utf-8')
f.write('DD')
print(f.read())
f.close()
"""
- 写读操作 w+ 的写操作先清空原内容,再读
"""

# 写读操作 a+
f = open('大圣', mode='a+', encoding='utf-8')
f.write('遇见未知的自己')
f.seek(0)
print(f.read())
f.close()

# 调光标操作 seek()
f = open('大圣', mode='w+', encoding='utf-8')
f.write('DD')
f.seek(0)
print(f.read())
f.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值