python3-file的修改实现类似shell中sed的功能
2020-01-12 11:09
253 查看
# Auther: Aaron Fan
'''
思路:
目的是为了修改yesterday这个文件,但是因为无法直接去修改这个文件,所以需要先把修改好的内容写入高yesterday.new这个文件中,
然后再把yesterday.new的内容覆盖到yesterday这个文件中
f = open('yesterday','r',encoding='utf-8')
f_new = open('yesterday.new','w',encoding='utf-8')
for line in f:
if "肆意的快乐等我享受" in line:
line = line.replace("肆意的快乐等我享受","肆意的快乐等着Aaron去享受")
f_new.write(line)
f.close()
f_new.close()
#改进版(实现类似sed的功能):
import sys
f = open('yesterday','r',encoding='utf-8')
f_new = open('yesterday.new','w',encoding='utf-8')
#命令行参数,需要被改的字符串
find_str = sys.argv[1]
#命令行参数,需要被改成哪个字符串
replace_str = sys.argv[2]
for line in f:
if find_str in line:
line = line.replace(find_str,replace_str)
f_new.write(line)
f.close()
f_new.close()
#需要在命令行下去测试(源文件yesterday需要存在的),使用以下命令:
#python file文件的修改_实现类似sed的功能.py "肆意的快乐等我享受" "肆意的快乐等着Aaron去享受"
'''
#使用with语句的改进版(with的作用就是,当with语句执行完后会自动帮你关闭文件,所以文件操作请用with):
import sys
with open('yesterday','r',encoding='utf-8') as f, \
open('yesterday.new','w',encoding='utf-8') as f_new:
#命令行参数,需要被改的字符串
find_str = sys.argv[1]
#命令行参数,需要被改成哪个字符串
replace_str = sys.argv[2]
for line in f:
if find_str in line:
line = line.replace(find_str,replace_str)
f_new.write(line)
#需要在命令行下去测试(源文件yesterday需要存在的),使用以下命令:
#python file文件的修改_实现类似sed的功能.py "肆意的快乐等我享受" "肆意的快乐等着Aaron去享受"
转载于:https://www.cnblogs.com/AaronFan/p/6057261.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- python3-文件的修改——实现类似shell中sed的功能
- 利用shell + python + expect实现类似xshell功能(测试环境:ubuntu)
- python之实现简单的shell sed替换功能
- Python 实现简单的shell sed替换功能(实例讲解)
- python实现类似awk的简单功能
- 通过Java SE 7自带的监控服务(WatchService API)实现类似.NET FileWatcher的功能
- Python利用上下文实现类似with open功能
- Shell脚本实现自动修改IP、主机名等功能分享
- python 实现类似sed命令的文件内容替换
- 通过Java SE 7自带的监控服务(WatchService API)实现类似.NET FileWatcher的功能
- 设备中如何实现类似gopro给iphone分配ip但是不修改dns的功能
- 用shell & Python 封装 Hive SQL 实现类Store Procedure 功能
- 实现简单的shell sed替换功能
- python 中如何实现类似C语言中 __FILE__, __LINE__, __FUNC__
- UNIX环境高级编程学习之第六章系统数据文件和信息-修改第四章实现的Shell的“ls -l”功能
- Python 实现类似PHP的strip_tags函数功能,并且可以自定义设置保留标签(一)
- 通过Java SE 7自带的监控服务(WatchService API)实现类似.NET FileWatcher的功能
- 设备中如何实现类似gopro给iphone分配ip但是不修改dns的功能
- python实现类似switch功能
- Python的Tornado框架实现图片上传及图片大小修改功能