python-fileinput备份与替换(整行替换)

root@kali:~/python# ls
contact_list.txt  fileinputreadfile.py  scan1.py         test.py
csvt01            manage_query.py       scanhostport.py  test.txt
csvtpy            newtext.txt           tab.py           userinput.py

fileinputbak.py   oldtext.txt  


root@kali:~/python# cat contact_list.txt 
tom it m 18912378667 shanghai
jack op m 15876544332 beijin
lilei it m 15325635588 taiwan
flake it w 18900378667 nanchang
alex op m 15833544332 shijiazang
lili lp m 15123635588 hangzhou
mayun xi m 18912345667 ningbo
zhang py w 15876541222 yunnan
lisi op m 15333333333 haikou
wangwu java m 18999999999 shandong
song js w 15000000000 shenzhen
caiqi js w 15555555555 huizhou


root@kali:~/python# vim fileinputbak.py
root@kali:~/python# cat fileinputbak.py 
#!/usr/bin/python


import fileinput


for line in fileinput.input('contact_list.txt',backup='.bak',inplace=1): //把contact_list.txt'原文件进行一份备份后,并对源文件进行修改,inplace=1表示进行修改

line = line.replace('tom','thomas') //对源文件中tom值替换成thomas值

print line

root@kali:~/python# ls
contact_list.txt  fileinputreadfile.py  scan1.py         test.py
csvt01            manage_query.py       scanhostport.py  test.txt
csvtpy            newtext.txt           tab.py           userinput.py
fileinputbak.py   oldtext.txt           tab.pyc          xwbtest.txt
root@kali:~/python# python fileinputbak.py 
root@kali:~/python# ls
contact_list.txt      fileinputbak.py       oldtext.txt      tab.pyc       xwbtest.txt
contact_list.txt.bak  fileinputreadfile.py  scan1.py         test.py
csvt01                manage_query.py       scanhostport.py  test.txt
csvtpy                newtext.txt  


root@kali:~/python# cat fileinputbak.py 
#!/usr/bin/python


import fileinput


for line in fileinput.input('contact_list.txt',backup='.bak',inplace=1):
line = line.replace('tom','thomas')
print line
root@kali:~/python# cat contact_list.txt.bak   //源文件完整性进行了备份
tom it m 18912378667 shanghai
jack op m 15876544332 beijin
lilei it m 15325635588 taiwan
flake it w 18900378667 nanchang
alex op m 15833544332 shijiazang
lili lp m 15123635588 hangzhou
mayun xi m 18912345667 ningbo
zhang py w 15876541222 yunnan
lisi op m 15333333333 haikou
wangwu java m 18999999999 shandong
song js w 15000000000 shenzhen
caiqi js w 15555555555 huizhou
root@kali:~/python# cat contact_list.txt
thomas it m 18912378667 shanghai    //对源文件的tom替换成了thomas


jack op m 15876544332 beijin


lilei it m 15325635588 taiwan


flake it w 18900378667 nanchang


alex op m 15833544332 shijiazang


lili lp m 15123635588 hangzhou


mayun xi m 18912345667 ningbo


zhang py w 15876541222 yunnan


lisi op m 15333333333 haikou


wangwu java m 18999999999 shandong


song js w 15000000000 shenzhen


caiqi js w 15555555555 huizhou


root@kali:~/python# 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徐为波

看着给就好了,学习写作有点累!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值