权限错误,没有这样的文件或目录


if not os.path.exists('/var/log/'):
os.makedirs('/var/log/')
print(log_filepath)
os.chmod(log_filepath, stat.S_IWOTH)
f_log_in = open(log_filepath, "a")

如果没有chmod命令,它将抛出一个错误,说f_log_in文件打开命令的权限被拒绝。

f_log_in = open(log_filepath, "a")
PermissionError: [Errno 13] Permission denied: '/var/log/s3_sync.log'

当我包含os。Chmod命令,它说:

os.chmod(log_filepath, stat.S_IWOTH)
FileNotFoundError: [Errno 2] No such file or directory: '/var/log/s3_sync.log'

还有其他方法吗?

编辑:这不是一个重复,我删除了另一个。

log_filepath中显示的文件不存在。因此,您不能像使用open那样简单地打开它。有关更多信息,请参阅此回答,但是您还需要w+a+来创建文件。

你得到的第二个错误正是因为这个消息——文件不存在,所以你不能改变权限来写它。

现在,如果您没有作为具有访问/var/log(或log_filepath指向的任何地方)的足够权限的用户执行程序,则可能仍然有问题。您必须以具有足够权限的用户身份运行——这是没有办法的,要么以具有该权限的用户身份运行,要么更改目录本身的权限,以便您正在执行的用户具有足够的权限。

最新更新