gpt4 book ai didi

使用 ugo+rw 打开 Python 并在文件上显示 "permission denied"?

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

我在 RHEL 7.x 机器上有一个用 Python3 编写的脚本。在测试此脚本时,我创建了一个函数,该函数将附加到同一目录中的文本文件。

如果我从本地目录执行脚本,即 - ./pyscript.py 一切都按预期工作。

但我正尝试从一个 Bash 脚本执行此操作,但它似乎无法正常工作。脚本中的其他函数将执行,但最后一个附加到文本文件的函数不会执行。

现在,如果我从主目录以拥有脚本(和 txt 文件)的用户身份运行脚本,脚本会因权限错误而出错。但是,如果我使用 sudo 运行脚本,它会在没有错误的情况下完成,但是它不会写入文本文件。

我的用户对 bash 脚本和 python 脚本之间的每个目录都具有 RW 权限。

关于为什么 sudo 或本地用户运行似乎不允许我写入文本文件的任何想法?

编辑

Traceback (most recent call last):
File "ace/ppod/my_venv/emergingThreats/et_pro_watchlists.py", line 165, in <module>
with open('etProLog.txt', 'a') as outlog:
PermissionError: [Errno 13] Permission denied: 'etProLog.txt'

最佳答案

如果您使用 open("filename.txt", 'mode'),它将在脚本执行的目录中打开该文件,而不是相对目录到脚本的当前目录。如果您想要脚本所在目录的路径,请导入 os 模块并使用 open(os.path.dirname(os.path.abspath(__file__))+"filename.txt ")。权限错误是因为文件不存在; sudo 覆盖它但不执行任何操作,因为该文件不存在。

关于使用 ugo+rw 打开 Python 并在文件上显示 "permission denied"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55854014/

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