【发布时间】:2014-10-26 13:23:52
【问题描述】:
我有一个名为 1.txt 的文本文件,其中包含以下内容:
123456
011111
02222
03333
我创建了一个 python 代码,它将第一行复制到 x 个文件夹到文件 number.txt 然后将第二个复制到 x 个文件夹:
progs = int(raw_input( "Folders Number : "))
with open('1.txt', 'r') as f:
progs2 = f.read().splitlines()
progs3 = int(raw_input( "Copy time for each line : "))
for i in xrange(progs):
splis = int(math.ceil(float(progs)/len(progs3)))
with open("{0}/number.txt".format(pathname),'w') as fi:
fi.write(progs2[i/splis])
我想在复制到指定数量的文件夹后编辑代码以删除该行; 就像代码复制数字 123456 时一样,我希望将其从文件中删除,因此当我再次使用该程序时,可以从第二个数字继续。
对代码有任何想法吗?
【问题讨论】:
-
你必须重写文件——你不能删除。另外,为什么要删行?
-
如果我想再次运行该程序,我想继续该过程而不是从头开始重新启动它
-
最好的方法是保留一个单独的文件,其中包含从原始文件处理的最后行的编号。
-
有一些方法可以就地更新文件(例如
mmap.move()与mmap.resize()结合使用),但这很少值得付出努力。只需重写文件。