【问题标题】:"Permission denied" error when using "fopen" function in Python在 Python 中使用“fopen”函数时出现“权限被拒绝”错误
【发布时间】:2015-12-19 13:05:10
【问题描述】:

我有以下代码,我从 localhost 运行它:

def create_names_file(req, names, data, profileid):
    s = names
    fname = str(profileid)
    fpath = req.conf["inf_path"]+"/"+fname
    f = open(fpath, 'w')

req.conf["inf_path"]/opt/fp/trunk/analysis/2/,我收到权限错误。我使用的是 Ubuntu 操作系统。我该如何解决这个问题?

【问题讨论】:

  • root 运行你的脚本也许可以解决这个问题。
  • 我知道,您的操作系统上有名为root 的用户吗?或者您可以使用命令sudo python your_script_name.py 而不是python your_script_name.py
  • @yusuf,你根本没有权限读取文件,文件输出上的ls -l是什么? help.ubuntu.com/community/FilePermissions
  • @KevinGuan,打开目录会出现权限错误吗?你会得到IOError: [Errno 21] Is a directory:
  • @yusuf,您需要为您的问题添加完整权限,如果您不想使用 sudo 运行脚本,则必须授予您的用户对该文件的读取权限

标签: python ubuntu fopen ubuntu-15.10


【解决方案1】:

您似乎正试图打开一个名为 /opt/fp/trunk/analysis/2/ 的文件,该文件由于尾部斜杠而无效。这可能是一个错字,所以,如果所需的文件已经存在,谁拥有它?

您运行 Python 的用户是否有权写入该文件?

检查ls -l /opt/fp/trunk/analysis/2报告的权限。

【讨论】:

  • 输出为“total 0”
  • 那么/opt/fp/trunk/analysis/2代表一个空目录。因此,除非您打算打开目录文件本身,否则没有什么可打开的。另外,您没有打开目录的权限,可以通过ls -ld /opt/fp/trunk/analysis/2查看权限。
猜你喜欢
  • 2011-08-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-30
  • 2015-04-23
  • 2016-05-03
  • 2015-11-09
  • 2015-08-19
  • 2012-06-09
相关资源
最近更新 更多