西西软件下载最安全的下载网站、值得信赖的软件下载站!

首页编程开发其它知识 → 用python脚步修改文件中的某行文字

用python脚步修改文件中的某行文字

相关软件相关文章发表评论 来源:西西整理时间:2012/12/9 23:31:09字体大小:A-A+

作者:西西点击:0次评论:0次标签: Python

《派森》(Python)3.13 win32 英文安装版
  • 类型:编程工具大小:21M语言:英文 评分:8.7
  • 标签:
立即下载

司的程序现在在windows下启动是通过一个批处理文件来启动,程序在启动前,需要读取配置文件和修改批处理脚本(需要配置ip地址和端口等等),这样就需要更改配置文件和批处理脚本。以前在linux下的时候,可以很方便得通过shell脚本来操作。但现在程序需要在windows下运行。windows下的shell没有linux强大,看好最近看了一些python的东西,就尝试写了个python的小程序来修改配置文件。

假设和这个python脚本同目录下有一个批处理脚本'test.bat',批处理文本内容如下所示:

1 @echo off
2 @ping 192.168.1.1 -n 1
3 @echo 'hello world'

python代码如下:

 1 import sys
 2 #check number of arg, if the number is less than 1, exit 
 3 if (len(sys.argv) <= 1):
 4     print('arg num is error')
 5     exit()
 6 
 7 #read file's content in a list
 8 _list_content = [];
 9 
10 #python读如文本后,会将换行符统一为'\n',但在windows下换行符是'\r\n',如果不注意会将文件的换行符全部转换为'\n',
11 
12 #这样虽然不影响批处理运行,但是,影响美观啊(在windows下);同时,读入的换行是'\r\n',写出来变成'\n',有些不地道...。
13 
14 #所以,需要将打开的模式设定为二进制模式,这样就不会更改里面的换行符了。
15 
16 #脚本的思想:将文件中的每行读取到list中,之后遍历list,对需要修改的某行进行修改
17 fh = open('./config.bat', 'rb')
18 for i in fh.readlines():
19     _list_content.append(i)
20 fh.close()
21 
22 _content = ''
23 
24 for i in _list_content:
25     if(i.find('ping') >= 0):
26         i = '@ping ' + sys.argv[1] + ' -n ' + sys.argv[2] + '\r\n'
27     _content = _content + i
28 
29 open('./config.bat', 'wb').writelines(_content

python的确很方便。由于我是刚开始写python,有很多细节还不熟悉,若程序中有不合适的地方,希望大家指出来。

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)
    推荐文章

    没有数据