文件修改 核心5步
1、以读的模式打开原文件,产生句柄f1
2、以写的模式打开一个新文件,产生句柄f2
3、读取原文件的内容并将原文件需要替换的内容修改写入到新文件
4、删除原文件
5、把新文件重名了成原文件
import os
# 1、以读的模式打开原文件,产生句柄f1
# 2、以写的模式打开一个新文件,产生句柄f2
with open('1.txt', encoding='utf-8', mode='r') as f1, \
open('2.txt', encoding='utf-8', mode='w') as f2:
# 3、读取原文件的内容并将原文件需要替换的内容修改写入到新文件
for old_data in f1:
new_data = old_data.replace('', '')
f2.write(new_data)
# 4、删除原文件
os.remove('1.txt')
# 5、把新文件重名了成原文件
os.rename('2.txt', '1.txt')
import os

def change(file_name, old_content, new_content):
# 最后一个单引号前有两个\\是为了防止\与单引号发生转义
file_name = r'E:\pythonProject\OldBoy_learn\\' + file_name
with open(file_name, 'r', encoding='utf-8') as f1, \
open(file_name + '.bak', 'w', encoding='utf-8') as f2:
for old_line in f1:
new_line = old_line.replace(old_content, new_content)
f2.write(new_line)
os.remove(file_name)
os.rename(file_name + '.bak', file_name) f_name = input('请输入文件名:')
o_content = input('请输入要修改的内容:')
n_content = input('请输入修改后的内容:')
change(f_name, o_content, n_content)

python文件修改 核心5步,函数实现修改任意文件内容的更多相关文章

  1. UNIX环境编程学习笔记(5)——文件I/O之fcntl函数访问已打开文件的性质

    lienhua342014-08-29 fcntl 函数可以改变已打开的文件的性质. #include <fcntl.h> int fcntl(int filedes, int cmd, ...

  2. Bran的内核开发教程(bkerndev)-04 创建main函数和链接C文件

    目录 创建main函数和链接C文件 PS: 下面是我自己写的 Win10安装gcc编译器 本节教程对应的Linux下的编译脚本 _main的问题 创建main函数和链接C文件   一般C语言使用mai ...

  3. [红日安全]Web安全Day5 - 任意文件上传实战攻防

    本文由红日安全成员: MisakiKata 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目 ...

  4. PHP代码审计笔记--任意文件上传

     0x01 最简单的文件上传 未进行文件类型和格式做合法性校验,任意文件上传 漏洞代码示例: 新建一个提供上传文件的 upload.html <html> <body> < ...

  5. CVE-2021-21402 Jellyfin任意文件读取

    CVE-2021-21402 Jellyfin任意文件读取 漏洞简介 jellyfin 是一个自由的软件媒体系统,用于控制和管理媒体和流媒体.它是 emby 和 plex 的替代品,它通过多个应用程序 ...

  6. Aria2任意文件写入漏洞

    目录: 简介 漏洞描述 payload 漏洞复现 一.Aria2介绍 Aria2是一个命令行下运行,多协议,多来源下载工具(HTTP / HTTPS,FTP,BitTorrent,Metalink), ...

  7. 【Python】简单的脚本,轻松批量修改文件名称

    使用python脚本,批量修改文件夹名称 先创建一些没用的案例文件 import os #创建新文件夹 dir = os.makedirs('D:\\SomeThing\\testfile') #将文 ...

  8. python学习笔记(六)- 函数、文件json与python字典互操作

    1.函数:(方法.功能) 1.提高代码的复用性 2.让代码更简洁.简化代码 1)定义一个简单的函数 def sayHello(): #函数名,定义函数 print("hello") ...

  9. python第三周:集合、函数、编码、文件

    1.集合: 集合的创建: list_1 = set([1,2,3,4,5]) list_2 = set([2,3,44,7,8]) 集合的特性:集合是无序的,集合可以去掉重复的元素 集合的操作:求交集 ...

随机推荐

  1. CentOS安装搭建zookeeper

    原文连接:https://www.cnblogs.com/rwxwsblog/p/5806075.html zookeeper集群搭建(三台) 注意关闭机器防火墙! 配置ip别名:编辑文件  # /e ...

  2. java学习基础部分

    JVM虚拟机的位置: 垃圾回收在java程序运行过程中自动进行,程序员无法精准控制和干预. Java程序还会出现内存泄漏和内存溢出. Jre = jvm+java se标准类库 Jdk = jre + ...

  3. SQL语句之数据库操作

    SQL语句系列 1.SQL语句之行操作 2.SQL语句之表操作 3.SQL语句之数据库操作 4.SQL语句之用户管理 占坑,带写……

  4. Springboot第二篇:与前端fetch通信(附springboot解决跨域方法)

    说到与前端通信,明白人都知道这章肯定会写两部分的东西啦. 关于后台 ①首先回顾前文,上一章环境搭建如图: ②我们在maven.example.controller下添加一个文件,并附上如图代码: ③: ...

  5. 使用FFmpeg进行视频抽取音频,之后进行语音识别转为文字

    1.首先需要下载FFmpeg: 2.Gradle依赖 def void forceVersion(details, group, version) { if (details.requested.gr ...

  6. FreeRTOS-03中断测试

    根据正点原子FreeRTOS视频整理 单片机:STM32F207VC FreeRTOS源码版本:v10.0.1 portDISABLE_INTERRUPTS(); /*关中断*/portENABLE_ ...

  7. 小众软件:windows 系统下 exe 文件打包软件

    1. Enigma Virtual Box 单文件打包软件 官网:EnigmaProtection 2. 安装包打包软件 官网:Inno Setup 参考文献: [1] 单文件制作工具Enigma V ...

  8. epoll_wait 返回值学习以及epoll使用学习

    https://blog.csdn.net/analogous_love/article/details/88721574

  9. 【TensorFlow】-精选Github开源项目

    转至:http://www.matools.com/blog/1801988 留底做个记录,有空在做验证. TensorFlow源码 https://github.com/tensorflow/ten ...

  10. 高效的JS数组操作

    1.向数组的末尾添加元素 var arr=[1,2,3]; arr[arr.length]=1; 2.向数组的头部添加元素 var arr=[1,2,3]; [0].concat(arr); 3.向数 ...