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