python 入门级文件操作

本文详细介绍了如何在Python中使用open()函数进行文件操作,包括不同模式(如读r、写w、追加a)、编码设置、文件读取(read、readline、readlines)、写入(列表到文件、逐行写入)、非文本文件处理以及文件修改和管理(复制、重命名和删除)。
摘要由CSDN通过智能技术生成

在Python中,可以使用内置的open()函数来进行文件操作

基础的格式

open("文件路径" , mode="" , encoding="")
文件路径:
   相对路径
   当对于当前文件的所在位置 推荐使用不容易报错
   绝对路径
   D:/text/.....
mode:(还有很多,这里列举几个常用的,有兴趣的朋友可以自己去查阅一下)
  r = read 读取
  w = write 写
  a = append 接着写
  +b 读取非文本文件

 encoding 默认是utf-8 但有些电脑默认是gbk,以免报错这里还是最好加上

文件的读取

read() 全部读取

 注意这里的ceshi.txt,是我项目中的文件地址,在学习时要换成自己的文件地址下面的代码中也是也一样的

texts = open("ceshi.txt", mode="r", encoding="utf-8")
content = texts.read()
print(content)
readline() 读取一行
content = texts.readline()
content2 = texts.readline().strip()  # 去掉字符串左右两端的空白,换行,制表符
print(content)
print(content2)

content3 = texts.readlines()  # 一次性全部读出来放到一个列表中

要记住的一种读取方式比较常用(***)

# 最重要的读取文件的一种方式
texts = open("ceshi.txt", mode="r", encoding="utf-8")
for line in texts:
    print(line.strip())

文件的写入

如果文件不存在 w模式下会自动创建一个文件

w模式下 每一次open都会清空掉文件中的内容

w模式
f = open("书店.txt", mode="w", encoding="utf-8")
# 将一个列表写入书店中
list = ["呐喊", "老人与海", "西游记", "三国演义"]
for i in list:
    f.write(i)
    f.write("\n")  #加一个换行符
f.close()
a模式
fs = open("书店.txt", mode="a", encoding="utf-8")
fs.write("继续写入")
fs.close()

with

with: 上下文,读取后不用手动关闭
 with open("ceshi.txt", mode="r", encoding="utf-8") as f:
    for line in f:
        print(line.strip())

读取非文本

# 读取非文本文件时要加上b
with open("car.jpg", mode="rb") as f:
    for line in f:
        print(line.strip())

打印结果

例子,将one_python下的car.jpg复制到two_python文件夹下

( , \ 表示在同一行 )

with open("car.jpg", mode="rb") as f, \
    open("../two_python/cars.jpg", mode="wb") as f2:
    for line in f:
        f2.write(line)

修改文件

在使用os.remove、os.rename时要 引入  import os # 和系统相关的操作

# 需求将人名.txt中性张的改成姓王
with open("人名.txt", mode="r", encoding="utf-8") as f, \
    open("人名_副本.txt", mode="w", encoding="utf-8") as f2:
    for item in f:
        item = item.strip()  # 去除换行...
        if item.startswith("张"):
            item = item.replace("张", "王")  # 修改
        f2.write(item)
        f2.write("\n")

# 删除源文件
os.remove("人名.txt")
# 修改文件名称
os.rename("人名_副本.txt", "人名.txt")

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值