如何创建一个在程序结束时不会擦除的计数器

时间:2019-05-16 11:43:14

标签: python counter

我正在开发使用不同语言的脚本组合,这些脚本可以创建数据矩阵。 Mi程序可以在几秒钟内创建数千个数据矩阵,但是我的数据矩阵的结构不正确。

Mi程序生成ID,并遵循一个结构。

ID的一部分是计数器。

我的问题是...如何保存内容的价值?当我完成创建数据矩阵的操作后,程序将关闭,计数器显然会重新启动。

我知道该怎么做,很容易,但我一点都不喜欢。我可以将值保存在另一个文件中,并在每次启动程序时使用它,但是它将创建一个新文件,并且我不想要它。该程序不适合我,并且

如果没有更多更好的选择,我将创建一个新文件来设置并获取计数器。

1 个答案:

答案 0 :(得分:0)

您可以使用environment variables保存计数器。
首先,set an environment variable for the counter。可以使用以下方法(在链接的问题中)完成此操作:

import os
os.environ['COUNTER'] = '0'

但是,如果环境变量不存在,则获取环境变量将返回KeyError
因此,我们需要添加try-except statement来检查环境变量是否存在:

import os
try:
    counter = int(os.environ['COUNTER'])
except KeyError:
    counter = 0

在程序结束时,我们需要将计数器变量保存到环境变量中。
为此,我们只需:

os.environ['COUNTER'] = str(counter)

因此,对于最终程序,我们得到:

TL; DR([时间]太长; [I]未读)

import os
try:
    counter = int(os.environ['COUNTER']
except KeyError:
    counter = 0
# Do anything with the counter 
os.environ('COUNTER') = str(counter)

但是,您应该警惕环境变量必须是字符串。