python中如何修改文件?

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

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

一.修改方式一

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 的 sum() Pythonic 的求和方法详细

    当我们需要对一个列表或者其他可迭代的对象进行求和操作时,常见的方法是使用Python的内置函数sum()。 sum()函数可以接收一个可迭代对象作为参数,对其中的元素进行求和操作,并返回求和结果。 语法 sum(iterable[, start]) 参数说明: iterable:表示可迭代对象,可以是列表、元组、集合等。 start:可选参数,指定起始值,如…

    python 2023年5月14日
    00
  • Python处理PDF与CDF实例

    Python处理PDF与CDF实例 在统计学和数据分析中,概率密度函数(Probability Density Function,PDF)与累积分布函数(Cumulative Distribution Function,CDF)是两个非常常用的函数。Python中有许多库可以帮助我们处理PDF和CDF。本文将会为大家讲解如何使用Python处理PDF与CDF…

    python 2023年5月18日
    00
  • Python编程之黑板上排列组合,你舍得解开吗

    Python编程之黑板上排列组合,你舍得解开吗 一、问题描述 假设你有一块黑板和 n 个球,编写 Python 代码用黑板排列组合这些球。 二、解决方案 1. Python 代码实现 def combination(n): res = [] def helper(start, path): if len(path) == n: res.append(path…

    python 2023年6月3日
    00
  • python matplotlib各种画图

    下面是关于Python Matplotlib的画图攻略。Matplotlib是一个非常强大而常用的Python绘图库。借助于它的多种图形和可视化工具,我们可以更好地理解和分析数据,促进不同数据之间的关系。 1. 安装Matplotlib库 Matplotlib库可在Linux、Mac OS X和Windows等平台上使用,可以通过以下方式安装: pip in…

    python 2023年5月19日
    00
  • Python 如何定义匿名或内联函数

    下面是Python如何定义匿名或内联函数的完整攻略。 1. 什么是匿名函数 Python中的匿名函数也称为Lambda函数,是一种没有名称的函数,通常用在函数需要作为参数传递给其他函数的场合中。Lambda函数是一种临时构建的小型函数,它可以接受任意多个参数并返回一个表达式计算的结果。 2. 如何定义匿名函数 Python中定义Lambda函数的语法非常简洁…

    python 2023年6月5日
    00
  • Python中的变量和数据类型详情

    Python中的变量和数据类型详情 变量 命名规则 在Python中,变量名是对存储数据位置的标识符。命名变量时需要遵守一些规则: 变量名只能包含字母、数字和下划线。 变量名不能以数字开头。 变量名应该具有描述性。 变量名区分大小写。 避免使用Python关键字和内置函数作为变量名。 赋值符号 在Python中通过赋值符号(=) 创建变量并为其赋值,例如: …

    python 2023年5月14日
    00
  • 使用Python写一个小游戏

    确定游戏类型和规则 在开始开发任何游戏之前,你需要确切地思考游戏玩法规则。需要找出游戏的核心机制、目标和规则。比如,我们要开发一个文字冒险游戏,需要设定故事剧情并为每个场景和任务设定清晰的目标和规则。 选择适合游戏类型的Python库 Python拥有许多强大的库,用于游戏开发。其中最为出名的是pygame。选择合适的库可以轻松地实现游戏中需要的动画和音效。…

    python 2023年5月19日
    00
  • 一文详解Python中实现单例模式的几种常见方式

    一文详解Python中实现单例模式的几种常见方式 单例模式是一种常见的设计模式,它的目的是确保一个类只有一个实例,并且提供全局访问点。 在Python中,有许多不同的方法可以实现单例模式。本文将介绍其中的几种常见方式。 方法一:使用模块中的变量 在Python中,模块是一种全局变量,它只会被导入一次。因此,在模块中定义一个全局变量,即可实现单例模式。 # s…

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