Day2课后作业:sed替换程序
2024-08-30 00:03:19
#!/usr/bin/env python
#_*_conding:utf-8_*_
import sys,os
old_file = sys.argv[1]
new_file = sys.argv[2]
file_path = sys.argv[3]
f = open(file_path,"r")
f1 = open("xiugai","w")
for i in f:
if old_file in i:
i=i.replace(old_file,new_file)
f1.write(i)
# f1.flush()
f.close()
f1.close()
os.remove(file_path)
os.rename("xiugai",file_path)
说明:
1,在linux环境里实现的,声明环境变量python
2,虽然pyrhon3自带utf-8,再次申明一下。
3,加载模块sys,os
4,定义变量old_file,new_file,file_path,分别表示需要修改的文件内容,新的内容,和提供需要修改的文件
5,定义一个变量f,赋值为读原文件
6,定义加载到内存一个新文件f1
7,使用嵌套循环:
当某行在这个原文件中就循环,外循环
当某字符串在这行时就循环,内循环
并且加载replace函数,修改文件
8,给fi文件内写入内容,如果没有修改的就直接写入,有修改的就修改后写入
9,保存
10,删除原来的文件
11,把新文件改名为原来的文件名
流控图:
最新文章
- 归一化方法 Normalization Method
- 包含块( Containing block ) 转自W3CHelp
- mybatis实战教程(mybatis in action)之八:mybatis 动态sql语句
- transition-delay
- 原生js 实现购物车价格和总价 统计
- modelsim基本操作步骤及每步骤问题解决1(后续有改动会更新)
- Revit二次开发示例:DesignOptions
- 【Add binary】cpp
- 安装SqlServer2008时相关问题
- careercup-递归和动态规划 9.11
- VB几种函数参数传递方法,Variant,数组,Optional,ParamArray
- centos账户管理命令(root权限)
- Failed to start SYSV: Nginx is an HTTP(S) server, HTTP(S) reverse
- JAVA中ClassPath妙用
- HBuilder开发App教程04-最难搞定的是mui
- Flask 学习 十四 测试
- 11 OptionsMenu 菜单
- android有关生命周期探讨
- Mybatis.xml文件中大于小于等于
- 【洛谷P1462】通往奥格瑞玛的道路
热门文章
- Java 递归算法,遍历文件夹下的所有文件。
- GDP与股市市值
- python中format()方法格式化字符串
- cygwin Could not create directory '/home/Administrator/.ssh'
- distutils 打包setup.py
- Kvm学习文档记录
- C++之const类成员变量,const成员函数
- bzoj1799同类分布——数位DP
- AJAX 方式
- Spring 注释标签@Resource @Autowired 和@Inject的区别