首页 > 代码库 > python 小程序,替换文件中的字符串
python 小程序,替换文件中的字符串
1 [root@PythonPC ~]# cat passwd 2 root:x:0:0:root:/root:/bin/bash 3 bin:x:1:1:bin:/bin:/sbin/nologin 4 daemon:x:2:2:daemon:/sbin:/sbin/nologin 5 adm:x:3:4:adm:/var/adm:/sbin/nologin 6 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 7 sync:x:5:0:sync:/sbin:/bin/sync 8 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 9 halt:x:7:0:halt:/sbin:/sbin/halt10 [root@PythonPC ~]# 11 [root@PythonPC ~]# python 5.py passwd 0 112 [root@PythonPC ~]# 13 [root@PythonPC ~]# cat passwd 14 root:x:1:1:root:/root:/bin/bash15 bin:x:1:1:bin:/bin:/sbin/nologin16 daemon:x:2:2:daemon:/sbin:/sbin/nologin17 adm:x:3:4:adm:/var/adm:/sbin/nologin18 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin19 sync:x:5:1:sync:/sbin:/bin/sync20 shutdown:x:6:1:shutdown:/sbin:/sbin/shutdown21 halt:x:7:1:halt:/sbin:/sbin/halt22 [root@PythonPC ~]# 23 [root@PythonPC ~]# python 5.py passwd 1 2 passwd.new24 [root@PythonPC ~]# 25 [root@PythonPC ~]# cat passwd26 root:x:1:1:root:/root:/bin/bash27 bin:x:1:1:bin:/bin:/sbin/nologin28 daemon:x:2:2:daemon:/sbin:/sbin/nologin29 adm:x:3:4:adm:/var/adm:/sbin/nologin30 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin31 sync:x:5:1:sync:/sbin:/bin/sync32 shutdown:x:6:1:shutdown:/sbin:/sbin/shutdown33 halt:x:7:1:halt:/sbin:/sbin/halt34 [root@PythonPC ~]# 35 [root@PythonPC ~]# cat passwd.new 36 root:x:2:2:root:/root:/bin/bash37 bin:x:2:2:bin:/bin:/sbin/nologin38 daemon:x:2:2:daemon:/sbin:/sbin/nologin39 adm:x:3:4:adm:/var/adm:/sbin/nologin40 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin41 sync:x:5:2:sync:/sbin:/bin/sync42 shutdown:x:6:2:shutdown:/sbin:/sbin/shutdown43 halt:x:7:2:halt:/sbin:/sbin/halt44 [root@PythonPC ~]# 45 [root@PythonPC ~]# python 5.py passwd o46 参数错误:python 5.py 需要编辑的文件 被替换的字符串 提成成的字符串 [另存成的文件]47 [root@PythonPC ~]# python 5.py passw 1 248 文件不存在49 [root@PythonPC ~]#
脚本代码如下:
1 #!/usr/bin/python 2 # -*- coding=UTF-8 -*- 3 4 import sys 5 import os 6 7 len_argv=len(sys.argv) 8 #print ‘传参数量‘,len_argv-1 9 10 if len_argv < 4:11 print ‘参数错误:python ‘+sys.argv[0]+‘ 需要编辑的文件 被替换的字符串 提成成的字符串 [另存成的文件]‘12 13 elif len_argv > 5:14 print ‘参数错误:python ‘+sys.argv[0]+‘ 需要编辑的文件 被替换的字符串 提成成的字符串 [另存成的文件]‘15 16 else:17 if not os.path.isfile(sys.argv[1]):18 print ‘文件不存在‘19 sys.exit()20 s_file = file(sys.argv[1],‘r+‘)21 old_str = sys.argv[2]22 new_str = sys.argv[3]23 d_file = file(sys.argv[1]+‘.tmp‘,‘w‘)24 for line in s_file.readlines():25 d_file.writelines(line.replace(old_str,new_str))26 s_file.close()27 d_file.close()28 29 if len_argv == 4:30 os.rename(sys.argv[1]+‘.tmp‘,sys.argv[1])31 else:32 os.rename(sys.argv[1]+‘.tmp‘,sys.argv[4])
python 小程序,替换文件中的字符串
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。