免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: caesarok
打印 上一主题 下一主题

更改配置文件 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-03-11 13:48 |只看该作者
原帖由 xiaoyu9805119 于 2009-3-11 13:09 发表
可能你没明白我的意思

line = f.readline()
if line.startswith('StartTime='):
    line = 'StartTime=1204144200'

干嘛非要replace呢?


line = 'StartTime=1204144200\n'才对

论坛徽章:
0
12 [报告]
发表于 2009-03-11 14:10 |只看该作者
这个问题逐行判断是愚蠢的。
每个[task]节行数是固定的,每节里starttime都在第四行,starttime=后面的时间格式是固定的。完全可以直接定位。

论坛徽章:
0
13 [报告]
发表于 2009-03-11 14:23 |只看该作者

回复 #12 luffy.deng 的帖子

..被你看出规律来了
但是我觉得这样省力啊
总好过你一行行去数代码。。。
要不你给写个
我们学习下

论坛徽章:
0
14 [报告]
发表于 2009-03-11 14:49 |只看该作者

回复 #10 zhenglxd 的帖子

前头没空格,后面我用

fNew.write('\n')
没用用正则re那样好,勉强完成了,

论坛徽章:
0
15 [报告]
发表于 2009-03-11 14:50 |只看该作者
谢谢各位赐教,呵呵,受益非浅!

[ 本帖最后由 caesarok 于 2009-3-11 14:51 编辑 ]

论坛徽章:
0
16 [报告]
发表于 2009-03-11 15:10 |只看该作者
原帖由 zhenglxd 于 2009-3-11 14:23 发表
..被你看出规律来了
但是我觉得这样省力啊
总好过你一行行去数代码。。。
要不你给写个
我们学习下

什么意思?要我写一个给你看看?你知不知道什么叫效率?

[ 本帖最后由 luffy.deng 于 2009-3-11 15:16 编辑 ]

论坛徽章:
0
17 [报告]
发表于 2009-03-11 15:11 |只看该作者
#!/usr/bin/python
#coding=utf-8
f=open('t.txt','r+')
for i in xrange(0,8):
     f.readline()
flag=0
while True:
     line = f.readline()
     if not line:
          break
     if flag%18==0:
          f.seek(-11,1)
          f.write('9999999999')
          f.seek(1,1)
     flag+=1


[ 本帖最后由 luffy.deng 于 2009-3-11 15:24 编辑 ]

论坛徽章:
0
18 [报告]
发表于 2009-03-11 15:34 |只看该作者
想替换为相同文件名,

  1. #-*-coding=gbk-*-
  2. import os
  3. import re
  4. i="E:\WebLog Expert\config\Schedule.cfg"

  5. li=[]
  6. f=open(i,'r')
  7. for i in f:
  8.     if re.search("StartTime=[0-9]*",i):
  9.         i=re.sub("StartTime=[0-9]*","StartTime=1204144200",i)
  10.         # 更改StartTime=1204144200为StartTime=你用的时间
  11.     li.append(i)
  12. f.close()
  13. f=open(i,'w')
  14. f.writelines(li)
  15. f.close()
  16. print "替换 ok!!"
复制代码


Traceback (most recent call last):
  File "E:\WebLog Expert\2.py", line 15, in <module>
    f=open(i,'w')
IOError: [Errno 22] invalid mode ('w') or filename: 'PostCommandWorkDir=\n'

[ 本帖最后由 caesarok 于 2009-3-11 15:38 编辑 ]

论坛徽章:
0
19 [报告]
发表于 2009-03-11 15:36 |只看该作者
原帖由 zhenglxd 于 2009-3-11 14:23 发表
..被你看出规律来了
但是我觉得这样省力啊
总好过你一行行去数代码。。。
要不你给写个
我们学习下

搞个200M的文件试试你那个破程序跑起来什么效果。

论坛徽章:
0
20 [报告]
发表于 2009-03-11 15:39 |只看该作者
原帖由 caesarok 于 2009-3-11 15:34 发表
想替换为相同文件名,

#-*-coding=gbk-*-
import os
import re
i="E:\WebLog Expert\config\Schedule.cfg"

li=[]
f=open(i,'r')
for i in f:
    if re.search("StartTime=[0-9]*",i):
        i= ...

直接定位好了,你这样文件大了就不行了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP