python中如何修改文件?

yizhihongxing

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

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

一.修改方式一

1.修改过程

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

2.优缺点

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

3.使用场景

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

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.适用场景

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

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()先判断文件是否存在

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

原文链接:https://www.cnblogs.com/python1111/p/17311275.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python中如何修改文件? - Python技术站

(0)
上一篇 2023年4月17日
下一篇 2023年4月17日

相关文章

  • Python实现CAN报文转换工具教程

    Python实现CAN报文转换工具教程 1. 简介 CAN(Controller Area Network)控制器局域网是一种高可靠性的串行通信协议。在汽车、工业自动化和机器人等领域得到广泛应用。本文将详细介绍如何使用Python实现CAN报文转换工具。 2. 硬件及软件环境 在实现CAN报文转换之前,我们需要准备相关的硬件和软件环境,其中主要包含以下几个方…

    python 2023年5月20日
    00
  • Python趣味挑战之给幼儿园弟弟生成1000道算术题

    我来为你详细讲解Python趣味挑战之给幼儿园弟弟生成1000道算术题的完整攻略。 1. 确定需求与实现方法 首先,我们需要明确题目的需求,即生成1000道随机的加减法算术题,并将其输出到文件中。根据这个需求,我们可以利用Python的random库来生成随机数,并用循环语句生成1000道算术题,再将其写入文件。 2. 生成随机数 为了生成随机数,我们需要借…

    python 2023年6月5日
    00
  • 浅谈python中requests模块导入的问题

    以下是关于 Python 中 requests 模块导入问题的详细讲解: 问题描述 在 Python 中使用 requests 模块时,有时会遇到导入错误的问题。本文将浅谈 Python 中 requests 模块导入的问题。 解决方法 以下是解决 Python 中 requests 模块导入问题的方法: 安装 requests 模块。 如果没有安装 req…

    python 2023年5月13日
    00
  • 用python写的一个wordpress的采集程序

    下面是详细讲解用 Python 写的 WordPress 采集程序的完整攻略。 什么是 WordPress 采集程序 WordPress 采集程序是一种自动化爬虫程序,用于采集 WordPress 站点上的文章、标签、分类等内容,并把采集的数据转化为特定格式,以备后续处理。采集程序可以帮助我们快速获取需要的数据,从而提高数据处理效率。 如何编写 WordPr…

    python 2023年6月3日
    00
  • Python实现App自动签到领取积分功能

    当用户使用App时,为了鼓励用户的积极性和忠诚度,许多应用都会设置签到、打卡等奖励机制。本攻略将介绍如何使用Python实现App自动签到领取积分功能,让用户可以轻松自动领取积分,提高用户体验。 步骤一:分析签到流程 在使用Python实现自动签到功能之前,我们需要先分析App的签到流程,找到签到的网址、请求格式和需要传递的参数。因为每个App的签到流程都不…

    python 2023年5月19日
    00
  • python自定义时钟类、定时任务类

    下面详细讲解“Python自定义时钟类、定时任务类”的完整攻略。 自定义时钟类 在Python中可以通过继承threading.Thread类来实现自定义时钟类。步骤如下: 定义一个时钟类,继承threading.Thread类,并重写构造方法和run方法,如下所示: import threading import time class Clock(thre…

    python 2023年6月3日
    00
  • python实现处理Excel表格超详细系列

    我来为您详细讲解“Python实现处理Excel表格超详细系列”的完整实例教程。 概述 本系列教程将介绍如何使用Python处理Excel表格。这可能是每个数据科学家和分析师的必修课,因为Excel表格是我们处理数据的常见工具之一。在本系列教程中,我们将介绍Python在Excel数据处理中的作用,包括读取、写入、操作和分析Excel表格的能力。我们将使用一…

    python 2023年5月13日
    00
  • 关于Linux操作系统下终端乱码的完美解决方法

    让我来详细讲解关于Linux操作系统下终端乱码的完美解决方法。首先需要了解的是,Linux操作系统支持多种字符编码方式,如UTF-8、GBK等。终端乱码的原因一般是出现了字符编码不兼容的情况,导致终端无法正确识别并显示字符。 下面是完整的解决方法: 一、检查终端编码方式 可以通过以下命令来查看Linux终端当前所使用的字符编码方式: echo $LANG 如…

    python 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部