作者uranusjr (←这人是超级笨蛋)
看板Python
标题Re: [问题] 档案移动行数
时间Thu Sep 19 21:22:32 2013
※ 引述《yshihyu (yshihyu)》之铭言:
: 用 open 开启一个档案
: 想移到某些行数之後插入一个字串, 请问有办法办到吗?
: 谢谢
假设我有一个档案 lipsum.txt
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nunc convallis urna quis sapien accumsan, nec fermentum felis tempor.
Etiam ante felis, lacinia a faucibus eu, dictum eu mi.
然後我想在第三行的 ante 後面插入一个字 "ultrices"
with open('lipsum.txt', 'r+') as f:
# 前往要插入的位置
for i in range(2):
f.readline()
f.seek(11, 1) # 跳过第三行一开始的 'Etiam ante '
pos = f.tell() # 记住目前的位置
rest_of_file = f.read() # 把剩下的读进来
f.seek(pos) # 回到要插入的位置
f.truncate() # 先把後面的删掉
f.write('ultrices ')
f.write(rest_of_file)
如果有不懂的函式与参数请自行参阅官方文件
http://docs.python.org/2/tutorial/inputoutput.html
注意其实没办法真的办到在档案中间「插入」字串这种事
我们只能先把後面的读进来, 之後再写回去
--
╱ ̄ ̄ ̄╲
▏
◢█◣ ▏
︻█︻█ ▏
成龙表示: 是喔...
′/ ‵ ▏
╰╯ █╱
ψQSWEET ◥︶█◤
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.32.81.146
1F:推 timTan:其实我也在想有没有别的方法。 09/27 00:18
2F:→ timTan:看大大回了,才知道方法真的不多。 09/27 00:18