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
指向的任何地方)的足够权限的用户执行程序,则可能仍然有问题。您必须以具有足够权限的用户身份运行——这是没有办法的,要么以具有该权限的用户身份运行,要么更改目录本身的权限,以便您正在执行的用户具有足够的权限。