python 小程序,替换文件中的字符串
[root@PythonPC ~]# cat passwd root:x:::root:/root:/bin/bash bin:x:::bin:/bin:/sbin/nologin daemon:x:::daemon:/sbin:/sbin/nologin adm:x:::adm:/var/adm:/sbin/nologin ::lp:/var/spool/lpd:/sbin/nologin ::sync:/sbin:/bin/sync shutdown:x:::shutdown:/sbin:/sbin/shutdown halt:x:::halt:/sbin:/sbin/halt [root@PythonPC ~]# [root@PythonPC ~]# python .py [root@PythonPC ~]# [root@PythonPC ~]# cat passwd root:x:::root:/root:/bin/bash bin:x:::bin:/bin:/sbin/nologin daemon:x:::daemon:/sbin:/sbin/nologin adm:x:::adm:/var/adm:/sbin/nologin ::lp:/var/spool/lpd:/sbin/nologin ::sync:/sbin:/bin/sync shutdown:x:::shutdown:/sbin:/sbin/shutdown halt:x:::halt:/sbin:/sbin/halt [root@PythonPC ~]# [root@PythonPC ~]# python .py passwd.new [root@PythonPC ~]# [root@PythonPC ~]# cat passwd root:x:::root:/root:/bin/bash bin:x:::bin:/bin:/sbin/nologin daemon:x:::daemon:/sbin:/sbin/nologin adm:x:::adm:/var/adm:/sbin/nologin ::lp:/var/spool/lpd:/sbin/nologin ::sync:/sbin:/bin/sync shutdown:x:::shutdown:/sbin:/sbin/shutdown halt:x:::halt:/sbin:/sbin/halt [root@PythonPC ~]# [root@PythonPC ~]# cat passwd.new root:x:::root:/root:/bin/bash bin:x:::bin:/bin:/sbin/nologin daemon:x:::daemon:/sbin:/sbin/nologin adm:x:::adm:/var/adm:/sbin/nologin ::lp:/var/spool/lpd:/sbin/nologin ::sync:/sbin:/bin/sync shutdown:x:::shutdown:/sbin:/sbin/shutdown halt:x:::halt:/sbin:/sbin/halt [root@PythonPC ~]# [root@PythonPC ~]# python .py passwd o 参数错误:python .py 需要编辑的文件 被替换的字符串 提成成的字符串 [另存成的文件] [root@PythonPC ~]# python .py passw 文件不存在 [root@PythonPC ~]#
脚本代码如下:
#!/usr/bin/python
# -*- coding=UTF-8 -*-
import sys
import os
len_argv=len(sys.argv)
#print '传参数量',len_argv-1
if len_argv < 4:
print '参数错误:python '+sys.argv[0]+' 需要编辑的文件 被替换的字符串 提成成的字符串 [另存成的文件]'
elif len_argv > 5:
print '参数错误:python '+sys.argv[0]+' 需要编辑的文件 被替换的字符串 提成成的字符串 [另存成的文件]'
else:
if not os.path.isfile(sys.argv[1]):
print '文件不存在'
sys.exit()
s_file = file(sys.argv[1],'r+')
old_str = sys.argv[2]
new_str = sys.argv[3]
d_file = file(sys.argv[1]+'.tmp','w')
for line in s_file.readlines():
d_file.writelines(line.replace(old_str,new_str))
s_file.close()
d_file.close()
if len_argv == 4:
os.rename(sys.argv[1]+'.tmp',sys.argv[1])
else:
os.rename(sys.argv[1]+'.tmp',sys.argv[4])
python 小程序,替换文件中的字符串的更多相关文章
- 使用 sed 命令查找和替换文件中的字符串的 16 个示例
当你在使用文本文件时,很可能需要查找和替换文件中的字符串.sed 命令主要用于替换一个文件中的文本.在 Linux 中这可以通过使用 sed 命令和 awk 命令来完成. 在本教程中,我们将告诉你使用 ...
- linux sed 批量替换文件中的字符串或符号
sed -i :直接修改读取的文件内容,而不是输出到终端. sed -i 就是直接对文本文件进行操作的 替换每行第一次出现的字符串 sed -i 's/查找的字符串/替换的字符串/' 文件 ...
- 软件工程-构建之法 WordCount小程序 统计文件中字符串个数,单词个数,词频,行数
一.前言 在之前写过一个词频统计的C语言课设,别人说你一个大三的怎么写C语言课程,我只想说我是先学习VB,VB是我编程语言的开始,然后接触到C语言及C++:再后来我是学习C++,然后反过来学习C语言, ...
- 微信小程序wxml文件中调用自定义函数
想在微信小程序的wxml文件里自如的像vue那样调用自定义的方法,发现并不成功,得利用WXS脚本语言. WXS脚本语言是 WeiXin Script 脚本语言的简称,是JavaScript.JSON. ...
- 微信小程序 wxml 文件中如何让多余文本省略号显示?
废话不多说,之前写小程序碰到了一个问题,如何在 wxml 页面中截取数据? 1.wxs 取数据想必大家都会,不就是 substring 吗?但是这种方法在 wxml 页面中是无效的. 那还有 cs ...
- shell 脚本替换文件中某个字符串
1.将当前目录下包含jack串的文件中,jack字符串替换为tom sed -i "s/jack/tom/g" `grep "jack" -rl ./` 2.将 ...
- grep和sed替换文件中的字符串
sed -i s/"str1"/"str2"/g `grep "str1" -rl --include="*.[ch]" ...
- grep和sed替换文件中的字符串【转】
sed -i s/"str1"/"str2"/g `grep "str1" -rl --include="*.[ch]" ...
- shell 脚本sed替换文件中某个字符串
有些大文件,特别的大.有几百兆,甚至更大. 用文本编辑器打开十分的费劲,电脑都卡死了. 想替换其中的字符串,很麻烦. 这个时候有了shell,简直强大到爆炸! # du -h user.sql 304 ...
- Bat 替换文件中的字符串
echo off setlocal enabledelayedexpansion set "file=Config\__Config\server_config_common.xml&quo ...
随机推荐
- 如何自定义一个组件loading
使用时需要Vue.use()一下
- [转帖] 从零开始编写自己的C#框架(27)——什么是开发框架
从零开始编写自己的C#框架(27)——什么是开发框架 http://www.cnblogs.com/EmptyFS/p/4105713.html 没写过代码 一直不清楚 框架的含义 不过看了一遍 也没 ...
- Node http和express和mysql
const http = require("http");const express = require("express");const mysql = re ...
- webpack & bundle analyzer
webpack & bundle analyzer webpack bundle analyzer https://github.com/th0r/webpack-bundle-analyze ...
- PostgreSQL、SQL Server数据库中的数据类型的映射关系
PostgreSQL 8.1 轰动发布,我也打算将原来使用 SQL Server 的一些应用迁移到 PostgreSQL 上,首先需要迁移的是表,那么这就必须要先搞清楚这两个数据库中的数据类型的映射关 ...
- 快速排序Qsort
快速排序Qsort是所有学习算法和数据结构最基础的一个部分,也是考试题和面试的一个小重点. 快速排序的时间复杂度为O(N*lgN),而且常数因子很小. 对于随机数据,效率特别高: 对于构造的恶意数据, ...
- 51nod1268(基础dfs)
解题思路:直接搜索找就行了,搜两边,一个是加入这个数字,一边是不加入这个数字 代码: #include<iostream>#include<algorithm>#define ...
- PKUWC 2019&WC 2019爆零记
PKUWC 2019&WC 2019爆零记 毕竟过了很久了,杂七杂八的东西就不写了,并且除成绩之外的内容不保证其正确性. Day1 T1:看到这道题很舒服啊,枚举top序算合法图的数量,状压D ...
- 【Linux】Centos配置ssh无密码登录
[测试环境] 刚好重新做mgr就搞下吧,主要论文好长~想多做几遍再看~ master1 192.168.13.111 master2 192.168.13.112 master3 192.168. ...
- Git储藏与恢复
cd /f cd android git status echo 'shoping' >> 4 //修改内容 git status git stash //git储藏 git status ...