【问题标题】:Permission denied on trying to write file尝试写入文件的权限被拒绝
【发布时间】:2015-08-24 18:02:26
【问题描述】:

我是 python/Django 新手。我在我的视图中创建文件夹:

os.makedirs(path)

每个文件的路径都不同,取决于用户名和文件名的组合。尝试在此文件夹中写入文件时,出现此错误:

IOError at /view_name/
[Errno 13] Permission denied: u'<filepath>'

这是在我的 Windows 系统上。即使尝试将权限从只读更改为写入,也不会更改它(它的默认属性,并且是 Windows 中文件夹的唯一属性)。我该怎么办?

【问题讨论】:

  • @eryksun 不,我只是用 /filepath/ 替换了文件路径。将其更改为占位符。路径是正确的。
  • 就文件安全而言,记录subprocess.check_output('whoami /user /groups /fo list', universal_newlines=True)subprocess.check_output('icacls "%s"' % filepath, universal_newlines=True)的输出。

标签: python django windows python-2.7 django-models


【解决方案1】:

一种可能性是目录已经存在,根据this 应该会引发错误。

该目录也有可能在其他程序中使用,例如资源管理器,需要先关闭。

我能想到的第三个选项是系统上目录的默认权限不允许用户读取,在这种情况下,您的程序需要以管理员身份运行或使用 win32security 模块从pywin32 手动设置目录的权限(尽管如果您没有更改权限的权限,这也可能不起作用)。

【讨论】:

    猜你喜欢
    • 2017-03-27
    • 2016-05-27
    • 2013-03-19
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 2020-11-11
    • 2015-11-24
    • 1970-01-01
    相关资源
    最近更新 更多