【问题标题】:Is there a way to make my python text files unopenable/unreadable有没有办法让我的 python 文本文件无法打开/无法读取
【发布时间】:2020-11-17 07:46:35
【问题描述】:

我想为我在 python 中使用文本文件制作的游戏存储一些信息。存储的某些信息不应该对用户进行更改。是否有任何简单的方法可以使用户无法打开/无法读取文件,但它仍会保存在同一目录中。 (最好不使用外部库,但如果这是最简单或唯一的方法,那就没问题了)

【问题讨论】:

  • 这是在您自己的计算机上,还是您发送的是 zip 文件?在你自己的电脑上,你应该可以很容易地设置权限
  • 这能回答你的问题吗? Make .txt file unreadable / uneditable
  • 他在谈论 Python @Nathan
  • @YagizcanDegirmenci“使用文本文件”同样的解决方案适用
  • 您可以在保存数据之前对其进行加密,这样会降低可读性和更改难度。

标签: python text-files


【解决方案1】:

This 可能会有所帮助: 您需要使文件对您以外的用户不可读,因此模式应该是 0o700。

import os
os.chmod(path, 0o700)

或者,您也可以在终端上使用 chmod:chmod 700 path/to/your/file

【讨论】:

  • 请不要只粘贴链接的答案。它们有死亡的趋势,使它们对未来的读者无法使用。相反,如果您认为它增加了价值,请包含信息和链接以供进一步阅读。谢谢:)
  • 哦,它本身就是一个 StackOverflow 链接,可以粘贴答案吗?从中提取内容似乎是多余的,但我很可能是错的。
  • 你是对的,在这种情况下,它可能没问题。我认为,由于您是该网站的新手,因此最好提前为您提供未来的答案:)
  • @aleph-null 嗨,谢谢,效果很好。唯一的问题是我必须将0o 放在它前面,因为它是一个八进制整数(或者这就是错误所说的)。此外,0400 的工作方式相同(或者至少我检查它是否工作的方式),但无论哪种方式都感谢。
  • 啊抱歉,是的,这是有道理的。它是一个八进制整数:4 是读取,2 是写入,1 是执行,它们的总和决定了授予该组的权限。
【解决方案2】:

您不能使文件在用户计算机上无法打开或无法读取,这样他们就可以为所欲为。
但是,我有一个想法,但它不会阻止一个聪明的人
采用 Ceaser Cipher 也称为 Shift cipher
这个视频将How to Use the Caesar (Shift) Cipher
只是它正在与另一个交换字母,例如

如果你的文件是这样的

{
"name","Joe"
}

应用密钥 = 6 的停止者密码,你会得到

{
"tgsk","Puk"
}

但如果他很聪明,他很可能能够轻松解密并知道密钥
最后是他们的电脑,他们可以对你的文件做任何他们喜欢的事情

【讨论】:

    猜你喜欢
    • 2022-08-04
    • 1970-01-01
    • 2011-11-19
    • 2022-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-30
    • 2011-04-20
    相关资源
    最近更新 更多