展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

文件操作

  • 读文件
# 一次行读取文件所有内容
f = open("d:/a.txt", mode="r", encoding="utf-8")
c = f.read()
print(c)
f.close()
"""如果文件太大,可以一行一行的读取"""
f = open("d:/a.txt", mode="r", encoding="utf-8")
l = f.readline() # 读取一行
print(l.strip())
l = f.readline() # 读取一行
print(l.strip())
f.close()
# 循环读取文件
f = open("d:/a.txt", mode="r", encoding="utf-8")
for l in f:
print(l.strip())
f.close()
  • 写文件
"""
mode = "w" 文件不存在就创建,如果存在就覆盖
"""
f = open("b.txt", mode="w", encoding="utf-8")
f.write("大家好\n")
f.write("我叫\n")
f.write("xxxx\n")
f.close()
lst = ["张三", "李四0", "王五"]
f = open("b.txt", mode="w", encoding="utf-8")
for item in lst:
f.write(item)
f.write("\n")
print("over")
f.close()
  • 追加
"""追加内容到文件的后面,model="a" append追加"""
f = open("c.txt", mode="a", encoding="utf-8")
lst = ["张三", "李四0", "王五"]
for item in lst:
f.write(item)
f.write("\n")
print("over")
f.close()
"""with 关键字来创建文件,在结束后会自动关闭文件"""
with open("c.txt", mode="a", encoding="utf-8") as f:
f.write("追加的内容")
f.write("\n")
print("over")
  • 案例
"""复制文件,c.txt 复制到 d.txt"""
with open("c.txt", mode="r", encoding="utf-8") as f1,\
open("d:/d.txt", mode="w", encoding="utf-8") as f2:
for line in f1:
f2.write(line)
print("over")
"""读取二进制文件,model = "rb" 读写二进制文件,就不要加编码格式"""
with open("a.png", mode="rb") as f:
for l in f:
print(l)
with open("a.png", mode="rb") as f1,\
open("b.png", mode="wb") as f2:
for l in f1:
f2.write(l)
print("over")
"""
修改文本文件:
1. 读取a.txt文件,将修改后的内容写入a_back.txt副本(新的文件)
2. 删除a.txt文件
3. 将 a_back.txt 重新命名为 a.txt
"""
import os
import time
with open("a.txt", mode="r", encoding="utf-8") as f1,\
open("a_back.txt", mode="w", encoding="utf-8") as f2:
for l in f1:
if l.startswith("张"):
l = "李"+l[1:]
f2.write(l)
time.sleep(2)
# 2 删除a.txt
os.remove("a.txt")
time.sleep(2)
# 3.重命名
os.rename("a_back.txt", "a.txt")
time.sleep(2)
print("over")
posted @   DogLeftover  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示