gpt4 book ai didi

Python 获取 'permission denied' 到 Linux 中的文件

转载 作者:太空宇宙 更新时间:2023-11-04 11:58:09 27 4
gpt4 key购买 nike

我有一种方法可以在 json 文件上记录操作:

def log(self, action, data):
import json
import os

current_directory = os.path.dirname(os.path.realpath(__file__))

try:
with open(current_directory+'/logs/log_'+str(data['id'])+'.json', 'a+') as outfile:
log_data = {
str(datetime.today()): {
'action': action,
'data': data
}
}
json.dump(log_data, outfile, indent=2)
except Exception as e:
print('\033[91m'+"Couldn't access log file to log changes in Reservation model: [{}]".format(str(e))+'\033[0m')
print('Current directory is {}'.format(os.path.dirname(os.path.realpath(__file__))))

它在我的 mac 上本地运行,但在 Linux 服务器上总是返回 permission deniedlogs 目录权限设置为 755chmod,但我仍然得到同样的错误:

[Wed Nov 28 16:27:23.551207 2018] [wsgi:error] [pid 18955:tid 139905951835904] [remote 189.149.229.31:63243] \x1b[91mCouldn't access log file to log changes in Reservation model: [[Errno 13] Permission denied: '/home/axel/IntellibookProject/Intellibook/ReservationsManagerApp/logs/log_43.json']\x1b[0m
[Wed Nov 28 16:27:23.551346 2018] [wsgi:error] [pid 18955:tid 139905951835904] [remote 189.149.229.31:63243] Current directory is /home/axel/IntellibookProject/Intellibook/ReservationsManagerApp

最佳答案

运行 python 脚本的用户似乎缺少访问该目录的权限 - 看看使用 chown 设置目录的所有者是否可以解决您的问题。

例如:'sudo chown -R someuser/path/to/the/directory'

“-R”选项表示所有者设置为目录及其中的所有内容

在 CentOS 和 RHEL 之类的系统上,您可能需要设置 SE Linux 上下文以允许写入特定目录。要暂时禁用 SE Linux 以检查它是否是 SE Linux 问题,请键入“sudo setenforce 0”(仅适用于具有 SE Linux 的系统,如 RHEL、CentOS、Fedora、Oracle Linux、SUSE、OpenSUSE 等)。

关于Python 获取 'permission denied' 到 Linux 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53524396/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com