如何防止在Python 3中重命名文本文件?
我制作了一个程序,将文本附加到文本文件中。问题是,如果用户重命名了该文本文件,程序将创建另一个文本文件,并将文本附加到新的文本文件中。因此,我希望防止重命名原始文本文件,但允许用户仍然能够打开它。在Python3中如何实现这一点如何防止在Python 3中重命名文本文件?,python,python-3.x,Python,Python 3.x,我制作了一个程序,将文本附加到文本文件中。问题是,如果用户重命名了该文本文件,程序将创建另一个文本文件,并将文本附加到新的文本文件中。因此,我希望防止重命名原始文本文件,但允许用户仍然能够打开它。在Python3中如何实现这一点 我尝试了Ryan Schaefer answer,但在运行代码时出现以下错误:错误:PermissionError:[Errno 13]权限被拒绝如果您的代码写入文件,用户可以通过其他方式直接打开该文件,并且您希望阻止他们重命名该文件,然后,您需要使用用户权限设置获取操
我尝试了Ryan Schaefer answer,但在运行代码时出现以下错误:错误:PermissionError:[Errno 13]权限被拒绝如果您的代码写入文件,用户可以通过其他方式直接打开该文件,并且您希望阻止他们重命名该文件,然后,您需要使用用户权限设置获取操作系统以保护它。这在很大程度上取决于您的操作系统以及文件的潜在存储位置,因此请查找您自己的系统,可能Python的
OS
或sys
模块有助于应用这些安全系统
不过,作为警告,如果您试图编写健壮的软件,则应在运行时处理此类错误情况;如果用户重命名了该文件,并且该文件不再存在于您期望的位置,请重新生成该文件或正常出错。对于大多数用户可能会修补其内部的软件,每当您与代码之外的任何东西进行交互时(从磁盘读取文件绝对是“外部世界”),您需要处理该过程中的任何潜在错误。您所需要做的就是更改文件的权限,使其成为只读文件,可以这样做:
import os
from stat import S_IREAD, S_IRGRP, S_IROTH
filename = "path/to/file"
os.chmod(filename, S_IREAD|S_IRGRP)
脚本很可能必须以管理员身份运行才能正常工作。使用文件权限是否可以满足您的要求?如何命名/重命名脚本?告诉我们/向我们展示更多有关其发生方式的信息。我希望用户能够打开文件但不能重命名itI希望用户能够打开文件但不能重命名itI获取此错误:PermissionError:[Errno 13]权限被拒绝>脚本很可能必须以管理员身份运行才能正常工作。好的,我如何以管理员身份运行它administrator@abdulrahmanselmi你的操作系统是什么?我正在使用Windows 10