在 Linux 上使用 Python 创建新目录

在 Linux 上使用 Python 创建新目录

我正在全新安装的 Ubuntu 20.04.2 上运行 Python 脚本。该脚本检查目录是否存在,如果不存在则创建它。代码是:

os.makedirs(f'..{os.sep}logs{os.sep}')

我收到以下错误:

PermissionError: [Errno 13] Permission denied: '../logs/'

在命令提示符中,我只需添加一个 sudo 但我需要我的 Python 脚本能够创建这些目录,所以我的问题是如何允许 Python 创建新目录?

答案1

简单的答案是:你不知道。虽然我确信您的脚本可以请求并获得提升的权限,但执行此操作的正常方法是假设运行脚本的任何人都可以访问脚本需要更改的内容。毕竟,如果用户没有权限,那么用户首先就没有资格运行脚本。

因此,只需编写脚本,然后将其留给用户,以确保他们有权做他们想做的事情。相反,您应该修改脚本以捕获错误并提供更具信息性的错误消息,以便用户可以知道他们需要访问哪个目录以及哪种访问权限。因此../log,不要获取完整路径,也不要“权限被拒绝”,而是检查需要哪些权限,并在尝试操作之前对其进行测试。这样,您就可以优雅地出错并告诉用户他们需要什么。

相关内容