关闭脚本discord.py后如何存储数据

我正在制作一个不和谐游戏机器人,但我无法弄清楚如何保存用户数据 . 这非常令人沮丧,因为我无法进行编辑,因为那时我必须退出Python Shell并且每个人都会丢失所有数据 .

有没有办法让Python存储数据,即使我停止运行文件?

我正在使用 discord.pyasyncon_message ,但你可以给我ctx .

编辑:我正在尝试保存播放器数据,通常应该是字符串和变量

回答(2)

2 years ago

即使在我停止运行文件后,有没有办法让Python存储数据?

传统上,如果程序需要存储的数据比运行的时间长,它会写入磁盘并在选择备份时读取 .

进行文件I / O的pythonic方法是:

with open("/path/to/file","mode-goes-here") as file_variable_name:
    do stuff

"mode goes here"是其中一种文件模式 . 在设置之前确保你Read up on them,否则你将丢失数据 .

此代码创建一个名为“file_variable_name”的对象,您可以读取或写入该对象 . 该对象仅在“with”语句的缩进内“存活” . 一旦你通过“with”语句,python将自动为你关闭文件 . 因为它为您做了大量的簿记,这就是为什么这是打开文件的推荐方式 .

写入对象非常简单:

file_object.write("strings here")

从文件对象中读取通常是通过迭代来完成的:

for line in file_variable_name_goes_here:
    do stuff

其中"line"这里返回文件中每一行的字符串 . Python根据您的平台line separator决定一行是什么 .

从那里,您已准备好读取和写入磁盘 . 最常见的格式是CSV,代表"comma-separated values."如果维基百科文章不清楚,只需打开Excel或其他内容,制作包含内容的电子表格,然后您可以另存为CSV . 任何文本编辑器都可以打开CSV . 打开您保存的CSV,您就会知道它的外观 .

你想要做的是在你的机器人中有一些功能,它将获取你存储的数据并将其写入文件 . 您还需要一些其他功能,可以将您存储的数据存储到文件中并将其放入内存中 .

2 years ago

对不起,我的答案不是很详细,但我确实建议采取两条路径; 1)查看Sqlite3库并将值存储到数据库中,该数据库将在每次运行应用程序时连接 . 参考文档:https://www.tutorialspoint.com/sqlite/sqlite_python.htm

2)可能创建一个配置(文本文件),程序可以读取/写入值 .

希望这是一个开始 .

亲切的问候,Devshades