文件操作初识
f = open("文件",mode="模式",encoding="编码")
open() #调用操作系统打开文件
mode #对文件的操作方式
encoding #文件的编码
? #不写indocing 默认为系统编码 Windows--gbk
? #linux&mac ----utf-8
f 文件句柄 ---- 操作文件的锅把
文件操作怎么用?
读 r rb r+ r+b
r 读 r+ 读写 #后期开发中使用频率比较低 不能指定编码
w写 w+写读 #写读 不能指定编码
a写 a+写读 #追加写读 不能指定编码
r
r #文件全部读取完以后,再次读取就没有内容
f = open("a",mode="r",encoding="utf-8")
f.read() #全部读取
c1 = f.read(3) #按照光标读取
for i in f:
print(i) #一行一行读取--防止内存溢出
f.readline() #读取一行 括号加数则读取到本行前几数字个字
f.readlines() #读取一行,存储到列表中 /n是换行符
f = open(r"F:\\a\,mode="r",encoding="utf-8")
# r:原生字符显示 \\转义防止\过多需要转义
# F:\a\111.txt 绝对路径 从磁盘的根处找
# "111.txt" 相对路径 相对于当前文件的路径进行查找的
import os
print(os.getcwd()) #查看当前工作路径
rb
f = open("1.jpg",mode="rb") #rb,wb,ab操作没有编码,不能incoding
f.read() #括号中加数字则读字节
写 w(清空写) a(追加写)
f = open("day8",mode = "w", coding = "utf-8")
f.write("123") # w分为两步 没有文件先创建 然后 清空再重新写
f.close() #关闭文件 关闭文件后就不能继续读取了
#操作文件的三步
1.打开文件
2.操作文件
3.关闭文件
f = open("a",mode = "w", coding = "gbk")
f.write("啊啊啊,好困啊") #文件末尾添加
wb
f = open(2.jpg,mode="wb")
f.weite()
#爬虫用
其他操作
tell #查看光标
seek #移动光标 文件开始位置
seek(0,0) #文件开始位置
seek(0,1) #光标当前位置 ---- 废物!!!
seek(0,2) #文件末尾位置
seek(3) #按照字节调节 使用utf-8是3 使用gbk是2
另一种打开文件的方式
with open("名称",mode="r",encoding="utf-8") as(作为的意思) f:
#面向对象中的上下文管理
f.read() #会自动关闭文件
with open("名称",mode="r",encoding="utf-8") as(作为的意思) f,open("名称",mode="r",encoding="utf-8") as f1:
f.read()
f1.write("真香") #同时开多个文件
文件的修改
with open("名称",mode="r+",encoding="utf-8") as f:
content = r.read()
content = replace("A","a")
f.seek(0,0)
f.write(content)
with open("名称",mode="r",encoding="utf-8") as f, open("new名称",mode="a",coding="utf-8") as f1:
content = i.replace("a","a1")
f1.write(content)
import os
os.rename("名称") #源文件没了
os.rename("new名称","名称")
原文地址:https://www.cnblogs.com/lyoko1996/p/11018940.html
时间: 2024-11-09 06:22:06