小编chu*_*use的帖子

使用python在文件中添加文本(不替换它)

我有一个包含ID和信息的文件,如下所示:

1oMZgkoaz3o 2011-12-29T01:23:00.000Z 9 503 ApolloIsMyCoPilot
nUW1TomCSQg 2011-12-29T01:23:15.000Z 9 348 grea7stuff
tJuLnRrAcs0 2011-12-29T01:26:20.000Z 9 123 AdelGaming
tyi5g0mnPIs 2011-12-29T01:28:07.000Z 9 703 PreferredGaming
Run Code Online (Sandbox Code Playgroud)

我想在某些行上添加一个标志,所以如果我有一本字典

flags = {'1oMZgkoaz3o': flag1, 'tJuLnRrAcs0': flag2}
Run Code Online (Sandbox Code Playgroud)

我想要的结果是

1oMZgkoaz3o 2011-12-29T01:23:00.000Z 9 503 ApolloIsMyCoPilot flag1
nUW1TomCSQg 2011-12-29T01:23:15.000Z 9 348 grea7stuff
tJuLnRrAcs0 2011-12-29T01:26:20.000Z 9 123 AdelGaming flag2
tyi5g0mnPIs 2011-12-29T01:28:07.000Z 9 703 PreferredGaming
Run Code Online (Sandbox Code Playgroud)

所以我制作了这段代码

l = True
while l is True:
    a = f.readline()
    try a.split(' ')[0] in flags.iterkeys():
        f.seek(-1,1)
        f.write(' '+str(flags[a.split(' ')[0]])+'\n')
        del flags[a.split(' ')[0]]
    except IndexError:
        l = False
Run Code Online (Sandbox Code Playgroud)

所以,我的Python代码可能很差,但问题是,这个代码我正在替换文本,所以文件都搞砸了.如何在不更换的情况下书写?如果您对代码有更好的想法,欢迎您...

python

7
推荐指数
2
解决办法
1338
查看次数

在不加载文件的情况下将文本添加到行尾

我需要以很多字典的形式将信息存储到一个非常大的文件中.这并不是那么重要,只是说我试图先将所有数据都输入这些词典中,然后耗尽内存(约60Gb).

很好,所以我想在文件中添加数据,而不是实际将其加载到内存中,通过在行上执行循环并将每行添加一些文本.那可能吗?如果是这样,怎么样?

python

5
推荐指数
1
解决办法
846
查看次数

在python中使用'finally'子句的范围是什么?

可能重复:
else的目的,最后是异常处理

我想理解为什么声明中finally存在该条款try/except.我理解它的作用,但很明显,如果它在语言中占有一席之地,我会遗漏一些东西.具体来说,在finally字段中编写一个子句与在try/except语句之外写一个子句之间的区别是什么?

python try-finally

2
推荐指数
1
解决办法
4216
查看次数

标签 统计

python ×3

try-finally ×1