即使您关闭文件并重新启动计算机,变量也会存储其值?

Posted

技术标签:

【中文标题】即使您关闭文件并重新启动计算机,变量也会存储其值?【英文标题】:Variable that stores its value even you close the file and restart the computer? 【发布时间】:2020-09-12 15:55:41 【问题描述】:

正如标题所说。

有没有办法在 python 中创建一个即使你关闭文件甚至重新启动计算机也能“保持”的变量?我还需要能够在程序中随时访问该变量。

我想这样做的方法是制作一个 txt 文件,然后将变量的值放在那里,但我认为它效率低下,因为我需要始终打开文件。此外,如果文件被删除,那么我也丢失了该变量的值。

这是我想做的一些伪代码。

if the file does not exists:
    file = open('file.txt','w')
    x = 1
    file.write(x)

if the file exists:
    file = open('file.txt','r')
    x = file.read()

    <do stuff with the variable x>


file.close()

我想要一些我可以立即访问的东西。

附:我打算使用 pyinstaller 将我的 python 脚本转换为 .exe 文件,因此即使文件已转换为 .exe,我也需要代码才能工作。

【问题讨论】:

保存到文件就是这样做的。打开单个文件非常便宜,所以我不会担心它有多“低效”。 为什么不使用环境变量并将其保存在 .bashrc 文件中? @DeepakTripathi 你能帮我做吗?我在系统方面还没有那么好。 有很多方法可以做到这一点,而且大多数(如果不是全部)都涉及文件 I/O。查找变量(或对象)“持久性”。 所有程序都使用某种类型的文件来保持运行之间的数据。它可以是 .txt、.cfg、.xml、.json 甚至是带有数据库 SQLite 的文件(即 Chrome/Firefox 使用 SQLite 来保存所有访问页面的书签和历史记录)。在 Python 中,您还可以使用 pickle 轻松地将其保存在文件中。在所有程序中,您可能会意外删除文件和丢失数据 - 但您可以创建备份文件,或者您应该对系统中的所有文件使用外部备份。 【参考方案1】:

我看到你想把它转换成一个.exe文件,所以我假设你使用的是windows,也许一个不错的选择可以存储在windows regedit中。看看线程How to store variables/preferences in Python for later use,我认为这会对你有所帮助

【讨论】:

虽然,根据您要添加到的注册表配置单元,数据可能无论如何都会写入磁盘 iirc。

以上是关于即使您关闭文件并重新启动计算机,变量也会存储其值?的主要内容,如果未能解决你的问题,请参考以下文章

h2 离开锁定文件,即使只创建一个连接并立即断开连接

即使在应用重新启动后 URLSession 也会缓存

如何拍摄相机并存储到 SD 卡中? [关闭]

重新启动IoT设备并关闭自动更新

当您关闭并重新打开模式时,showed.bs.modal 会多次触发

05.C语言数据常量和变量