Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python中如何修改文件?

python中如何修改文件?

原创
作者头像
Python学习者
发布于 2023-04-21 08:48:08
发布于 2023-04-21 08:48:08
1K00
代码可运行
举报
文章被收录于专栏:Python学习者Python学习者
运行总次数:0
代码可运行

修改的概念:对于硬盘上数据的修改, 根本没有改的操作, 只有覆盖操作

修改的流程:文件的修改都是数据加载到内存中, 在内存中修改完再覆盖入硬盘

一.修改方式一

1.修改过程

  • 先以 r 模式打开源文件,将源文件内容全部读入内存
  • 然后在内存中完成修改
  • 再以 w 模式打开源文件,将修改后的内容覆盖入源文件

2.优缺点

  • 优点 : 不须要硬盘预留足够的空间
  • 缺点 : 会在文件内容过大的情况下,占用过多的内存

3.使用场景

看情况而定, 一般用于文本编辑器, 让用户能看到全部的内容

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
with open('user.txt',mode='r',encoding='utf-8') as f:
    data=f.read()
    data=data.replace('python','人生苦短,我用python')

with open('user.txt',mode='w',encoding='utf-8') as f:
    f.write(data)

二.修改方式二

1.修改过程

  • 以 r 模式打开源文件,然后以 w 模式打开一个临时文件
  • 从源文件中读一行到内存中,修改完毕后直接写入临时文件,循环往复,直到操作完毕所有行
  • 删除源文件,将临时文件名改名为源文件名

2.使用到 OS 模块

  • import os : 导入模块
  • os.remove( ) : 删除
  • os.rename( ) : 改名

3.优缺点

  • 优点 :没有对内存造成过度的占用
  • 缺点:需要硬盘预留出足够的空间来存放临时文件

4.适用场景

看具体而定, 一般用于程序员开发式

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import os

with open('user.txt',mode='rt',encoding='utf-8') as read_f,\
        open('user.txt.swap',mode='wt',encoding='utf-8') as write_f:

    for line in read_f:
        if 'python' in line:
            line=line.replace('python','人生苦短,我用python')

        write_f.write(line)
#Python小白学习交流群:725638078
os.remove('user.txt')                  #删除源文件 
os.rename('user.txt.swap','user.txt')  #把临时文件名改成源文件名

三.文件拷贝示例

可以拷贝任意类型的文件

os.path.isfile()先判断文件是否存在

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import os
while 1:
    user_file = input("请输入文件路径>>").strip()
    if not os.path.isfile(user_file):
        print("文件不存在,请重新输入")
        continue
    else:
        copy_path = input("请输入目标路径>>").strip()
        with open(r"%s"%(user_file),"rb")as read_file,\
            open(r"%s"%(copy_path),"ab")as w_f:
            for line in read_file:
                w_f.write(line)
            if len(user_file) == len(copy_path):
                print("copy成功")
                break

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python Day3
#如果是windows平台一般还要加上一个小r,意思是取消路径中/的转义功能(不用写//了) #默认t,指的是文本文件,文本里面存放的是字符,因此涉及到字符编码,如果不指定使用什么字符编码打开就按默认操作系统默认编码打卡,windows默认GBK f=open(r'a.txt','r',encoding='utf-8') #读 #这一步说明发送了一个请求给操作系统,把某个文件已什么字符编码打开,同时还拿到了一个变量f
py3study
2020/01/03
5810
Python文件的高级应用
假设我们需要在文件内容中间的某一行增加内容,如果使用基础的r/w/a模式实现是非常困难的,因此我们需要对文件内的指针进行移动。
Python学习者
2023/02/18
4300
Java开发者的Python快速进修指南:文件操作
Python提供的文件操作相对于Java来说,确实简单方便许多。不仅操作简单,代码可读性也相对较高。然而,我们需要注意的不仅仅是文件操作的简单性,还有文件操作的各种模式。在Java中,我们并不经常使用像Python中那样的操作模式。
努力的小雨
2024/04/21
1580
python 文件操作总结
file:路径+文件 mode:打开模式;r只读,w写入,a追加, encoding:编码方式
火星娃统计
2020/12/22
3450
Python(文件操作)
Py 文件操作 一: """1.找到这个文件,双击打开 open(文件路径,mode="",encoding="")mode=>读/写encoding=>文件的编码集是什么 文件路径: 1.绝对路径 d:Tools/Tool/python/a.txt 不安全 2.相对路径 相对于当前你的程序所在的文件夹 ../ 上一层文件夹 mode: r:read 读取""
浅辄
2022/12/07
2930
Python(文件操作)
Python操作文件的基本流程
对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存 储的,使用这种模式无需考虑文本文件的字符编码、图片文件的jgp格式、视频文件的avi格式)
星陨1357
2023/03/14
4160
python-文件操作(二)
目录 文件操作 文本模式和二进制模式下read()方法的使用 文本模式 二进制模式 文件内光标的移动 文件内容的修改 文件操作 文本模式和二进制模式下read()方法的使用 英文字符统一使用一个bytes来表示,中文字符统一使用三个bytes来表示 文本模式 格式:read( n ),n为数字 文本模式下n表示字符个数 实例如下: # 在a.txt文件中写入‘python编程’ with open(r'a.txt', 'rt', encoding='utf8') as f:
HammerZe
2022/03/24
3440
Python之文件操作大全
在日常工作或生活中,总避免不了需要操作文件或文件夹,比如希望找出电脑中所有临时文件并清除,或者找到指定文件夹内所有图片文件并进行重新命名等等,如果能通过Python脚本的方式解决,会大大提升相关操作效率,本文即总结使用Python进行常见操作相关知识点,方便用到的人随时查阅,不用再每次使用都要花费时间检索或查阅文档。本文主要使用os、shutil、pathlib三个包。
全栈程序员站长
2022/08/23
4970
Python-基础06-文件操作
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
3080
Python-基础06-文件操作
Python `tempfile` 模块详解
在日常的Python编程中,临时文件和目录的使用非常常见,尤其是在处理文件上传、数据缓存、测试等场景中。Python 提供了一个名为tempfile的标准库模块,它使得创建和管理临时文件和目录变得非常容易。本文将深入探讨tempfile模块的使用,包括常见的函数、使用场景以及一些高级用法。
IT蜗壳-Tango
2024/08/13
3510
python-文件操作(一)
当使用read()方法遇到比较大的文件时一次性读取文件所有内容会可能造成内存溢出的情况,为了解决上述问题,利用逐行读取文件内容的方式,利用for循环,读取一行结束后python垃圾回收机制会回收释放空间。
HammerZe
2022/03/24
5660
【十】python基础之文件处理
给要打开的文件对象指定一个名字,这样可在完成操作之后迅速关闭文件,防止一些无用的文件对象占用内存
菲宇
2019/06/13
7280
【十】python基础之文件处理
一文搞定Python操作文件和目录
文件和目录操作是很常见的功能,这里做个简单的总结,包括注意事项和实际的实现代码,基本日常开发都够用了
AntDream
2019/08/15
5970
Python面向对象之文件操作
read方法可以一次性读入并返回文件的所有内容; close方法负责关闭文件; 如果忘记关闭文件,会造成系统资源消耗,而且会影响到后续对文件的访问; 注意:read方法执行后,会把文件指针移动到文件的末尾; 提示:在开发中,通常会先编写打开和关闭的代码,再编写中间针对文件的读写操作;
py3study
2020/01/16
7240
tempfile:Python临时文件系统对象
在实际的项目处理中,往往我们并不需要创建文件,仅仅用于中转而已。这个时候在系统中频繁的创建中转文件,删除中转文件,不仅浪费系统的资源,而且容易被破坏或者篡改,这个时候用临时文件反而更好。
luckpunk
2023/09/29
4880
tempfile:Python临时文件系统对象
python_文件 处理
# unicode -------> enconde( u t f - 8 ) -------> bytes
Mirror王宇阳
2020/11/10
5580
手撕Python之文件操作
打开文件,open(文件路径,mode='r',encodeing='cp936')
Undoom
2024/09/23
1270
手撕Python之文件操作
Python 学习入门(12)—— 文件
python进行文件读写的函数是open或file: f = open(filename, mode)
阳光岛主
2019/02/19
5200
Python文件的读写
说明:由于Windows和macOS文件目录系统的格式不同,在没有介绍到系统通配分隔符前,代码中的文件目录格式主要匹配macOS系统文件目录结构,下面是Python中常用的文件目录操作方法:
小雨coding
2020/07/27
1.6K0
Python3 IO编程
IO 在计算机中指 Input/Output,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由 CPU 这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就需要 IO 接口。 IO 编程简单理解指的是你的程序涉及到 cpu、内存和磁盘、网络的数据交互。因为 cpu、内存和磁盘、网络的速度有差异,所以在 IO 编程中,就存在速度严重不匹配的问题,比如网络爬虫的实例,网页解析可能只要 0.001秒,但是下载网页可能要 0.1s,为解决速度不匹配的问题,可以使用异步 IO,使用异步 IO 来编写程序性能会远远高于同步 IO,但是异步 IO的缺点是编程模型复杂。 操作 IO 的能力都是由操作系统提供的,每一种编程语言都会把操作系统提供的低级 C 接口封装起来方便使用, Python 也不例外。
嵌入式视觉
2022/09/05
5700
Python3 IO编程
相关推荐
Python Day3
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验