文件的rb,wb,ab,r+,w+,a+——操作

rb:

f1 = open("1.jpg", "rb")
print(f1.read())  # 全部读取
print(f1.read(10))  # 按照字节读取

wb:爬虫写入本地文件

f = open("2.jpg","wb")
f.write(f1.read())

ab:

f = open("2.jpg", "ab")
f.write("yulin".encode("utf-8"))

+操作:

r+:读写 -- 先读后写

错误的操作(坑):

f = open("/Users/ylinn/python_pycharm/day07/外卖电话号", "r+", encoding="utf-8")
f.write("宇霖是个靓仔")
print(f.read())

正确的操作:

f = open("/Users/ylinn/python_pycharm/day07/外卖电话号", "r+", encoding="utf-8")
print(f.read())
f.write("宇霖是个靓仔")

w+:清空写读

f = open("/Users/ylinn/python_pycharm/day07/外卖电话号", "w+", encoding="utf-8")
f.write("宇霖是个靓仔")
print(f.read())

a+:追加写读

f = open("/Users/ylinn/python_pycharm/day07/外卖电话号", "a+", encoding="utf-8")
f.write("宇霖是个靓仔")
print(f.read())

其他操作:

tell 查看光标 -- 返回的是字节数

seek 移动光标

​ 1、seek(0,0) -- 移动到文件的头部
​ 2、seek(0,1) -- 移动到文件的当前位置
​ 3、seek(0,2) -- 移动到文件的末尾
​ 4、seek(3) -- 按照字节进行移动(按照编码集,自己进行计算)

f = open("/Users/ylinn/python_pycharm/day07/外卖电话号", "a+", encoding="utf-8")
f.write("宇霖是个靓仔")
print(f.tell())  # 字节数
print(f.seek(0,0))  # 0将光标移动到文件的头部
print(f.read())

f = open("/Users/ylinn/python_pycharm/day07/外卖电话号", "w+", encoding="utf-8")
f.write("宇霖是个靓仔")
print(f.tell())  # 字节数
f.seek(3)  # 3将光标移动到文件的第一个文字
print(f.read())

f = open("/Users/ylinn/python_pycharm/day07/外卖电话号", "r", encoding="gbk")
print(f.read(3))  # 字符

f = open("/Users/ylinn/python_pycharm/day07/外卖电话号", "rb")
print(f.read(3))  # 字节

f = open("/Users/ylinn/python_pycharm/day07/外卖电话号", "r", encoding="gbk")
f.seek(6)
print(f.read())

文件修改:

f = open("/Users/ylinn/python_pycharm/day07/外卖电话号", "r", encoding="gbk")
s = f.read()
s1 = s.replace("宇霖", "50")
f1 = open("/Users/ylinn/python_pycharm/day07/外卖电话号", "w", encoding="gbk")
f1.write(s1)
with open() as f:
  文件操作的具体内容

with open("/Users/ylinn/python_pycharm/day07/外卖电话号", "r", encoding="gbk")as f, \
        open("/Users/ylinn/python_pycharm/day07/外卖电话号.txt", "w", encoding="gbk")as f1:
    s = f.read()
    s1 = s.replace("宇霖", "50")
    f1.write(s1)

import os

os.rename("/Users/ylinn/python_pycharm/day07/外卖电话号", "/Users/ylinn/python_pycharm/day07/外卖电话号.bak")
os.rename("/Users/ylinn/python_pycharm/day07/外卖电话号.txt", "/Users/ylinn/python_pycharm/day07/外卖电话号")

with open("/Users/ylinn/python_pycharm/day07/外卖电话号", "r", encoding="gbk") as f:
    pass  # 缩进里面操作文件 with open 自动关闭文件
print(f.read())  # 文件已经关闭了
posted @ 2020-10-16 08:21  Ylinn  阅读(526)  评论(0)    收藏  举报