Python基础之文件操作

本文介绍了Python中文件的读取方法(包括一次性读取、逐行读取和追加写入),写入文件的不同模式(如w、a),以及使用with语句进行文件操作的优点。还涉及了如何处理绝对路径和相对路径,以及非文本文件的读取。此外,文中还展示了文件复制、修改和删除的操作实例。
摘要由CSDN通过智能技术生成

读取文件

  1. 找到这个文件,双击打开它
    open(文件路径,mode=" “,encoding=” ")

文件路径

1.绝对路径
eg:d:/test/****.txt
这种方式不安全,涉及到项目迁移,项目部署时,这种方法会出现错误
2.相对路径
相对于当前程序所在的文件夹
需要注意"…/"表示的是返回上一级文件夹
模式:

mode

r:read 读取

# @FileName: Readfile.py 读取文件
# @Time : 2023/9/13 17:34
# @Author : Yuan
f = open("read.txt", mode="r", encoding="utf-8")
# content = f.read() #全部读取
# print(content)

# # 一行一行读取
# line = f.readline()
# print(line)
# # line = f.readline().strip()  这样写之后打印出来没有空行
# line = f.readline()
# print(line)
#
# line = f.readline()
# print(line)

# content = f.readlines()  # 一次性全都读出来存入一个列表中
# print(content)

# 最重要的一种读取方式
for line in f: #从f中读取每一行数据
    print(line.strip())

写入文件

mode

w: write 写入

# # 写入文件
# # w模式下,若文件不存在,则直接自动创建
# # w模式下,每一次open都会清空掉文件中的内容
# f = open('read.txt', mode="w", encoding="utf-8")
# f.write("keyi ")
# f.close()

# 准备一个列表,将列表中的每一项内容,写入到文件中
lst = ['科一', '科二', '科三', '科四']
f = open('read.txt', mode="w", encoding="utf-8")
# f.write(lst[0]+"\n")
# f.write(lst[1]+"\n")
# f.write(lst[2]+"\n")
# f.write(lst[3]+"\n")
for item in lst:
    f.write(item)
    f.write("\n")
f.close()

a:append 追加写入

# a模式,追加模式,在原来的基础上写入
f = open('read.txt', mode="a", encoding="utf-8")
f.write("全过!")
f.close()

with语句(上下文)

使用with之后,不用写文件的关闭语句,文件自动关闭。

#with
with open('read.txt', mode="r", encoding="utf-8") as f:
    for line in f:
        print(line.strip())

mode

b:读写的是非文本文件,音频,图像等。

# 想要读取图片
# 在读写非文本文件的时候要加上b,读取出来是字节,不能进行编码
with open("头像.jpg", mode="rb") as f:
    for line in f:
        print(line)

文件的复制

# 文件的复制
# 从源文件中读取内容,写入到新路径去
with open("头像.jpg",mode="rb") as f1, \
     open("LeetCode/头像2.jpg", mode="wb") as f2:
     for line in f1:
         f2.write(line)

文件的修改

import os  # 和操作系统相关的模块引入
import time  # 和时间相关的模块
# 文件的修改
# 把文件中的科改成张
with open('read.txt', mode="r", encoding="utf-8") as f1,\
     open('read_副本.txt', mode="w", encoding="utf-8") as f2 :
    for line in f1:
        line=line.strip()  # 去掉换行
        if line.startswith("科"):
            line=line.replace("科", "张")  # 修改
        f2.write(line)
        f2.write("\n")

time.sleep(3)  # 让程序休眠三秒钟

# 删除原文件
os.remove("read.txt")
time.sleep(3)
# 把副本文件命名为源文件
os.rename ("read_副本.txt", "read.txt")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值