首页 > 解决方案 > 如何创建一个在程序结束时不会擦除的计数器

问题描述

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

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

ID的一部分是计数器。

我的问题是......我怎样才能保存我的内容的价值?当我完成创建数据矩阵时,程序关闭并且计数器明显重新启动。

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

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

标签: pythoncounter

解决方案


您可以使用环境变量保存计数器。
首先,为 counter 设置一个环境变量。这可以通过使用来完成(在链接的问题中):

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

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

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

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

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

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

TL;DR([它]太长了;[我]没读)

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

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


推荐阅读