作者apua (Apua)
看板Python
标题Re: [问题] 档案中搜寻字串并插入字串
时间Sat Nov 3 14:47:16 2012
※ 引述《shihyuyao (shihyuyao)》之铭言:
: 我有个java程式码档案 , 例如我知道档案某行是一个函数起始 { 左括弧
: 例如是 test.java 100行 .. 我想在开档案直接跳到100行 { 位置 往下搜寻aaa 字串
: 直到遇到 } 右括弧 .. 这是左右括弧必须成对 , 用一个变数存放 { + 1 , } -1
: 如果这变数为 0 代表遇到函数 } 结束... 跳回函数{ 下一行插入aaa字串
: 想知道在python 要怎麽开档案跳到某行, . 怎麽跳回{ 括弧插入aaa字串?
: 谢谢
file.seek 可以跳到某个字元,比如说:
>>> f = open("FILENAME")
>>> f.seek(999) # 跳到这个档案中的第 999 个字元,包含 '\n'
如果你知道第 100 行的开头是第几个字元那就好办;否则用回圈慢慢跑也可以
>>> f = open("FILENAME")
>>> for _ in range(100): f.readline()
再来你可以利用 f.tell() 来取得现在这个字元的位置。
根据你的描述,我觉得最傻瓜的方法是直接把整篇程式码读进来变成字串,
再用 regular expression (re.py) 去处理,会比较乾净;
至於 regular expression 要怎麽写才能精确达到你的目标,这又是另外一个故事了~
自己手工处理也可以,看你怎麽作比较快~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.27.47
1F:推 shihyuyao:你说得方法是可以读到100行内容,不过要怎麽插入字串在 11/04 18:37
2F:→ shihyuyao:档案中.. 11/04 18:38
3F:→ apua:没有在档案中插入字串的方法。档案一定是重写的 (一般而言) 11/08 09:26