【问题标题】:python astonishing IOError on windows creating files - Errno 13 Permissionpython 在创建文件的 Windows 上出现惊人的 IOError - Errno 13 Permission
【发布时间】:2015-07-10 17:58:46
【问题描述】:

我也必须在 Windows 上运行我的 python 脚本,然后它开始出现问题。

在这里,我正在抓取本地保存的 html 文件,然后将它们的 .csv 版本与我想要的数据一起保存。我在我的 ubuntu 上运行它并毫无问题地获取 +100k 文件。但是当我打开窗户时,它会说:

IOError: [Errno 13] 权限被拒绝

这不是权限问题,我已经重新检查过,并在'Administration'权限下运行它,它没有任何区别。

它正好在我打开文件的那一行中断:

with open(of, 'w') as output: ...

我尝试从 python 控制台和一个新的空白愚蠢脚本从与我的代码相同的目录创建相同的 100k 的第一个文件,它可以工作...

所以,这似乎是可行的。

然后我尝试使用 output = open(of, 'w') 而不是上面的代码,但没有。

奇怪的是它创建了一个与文件同名的目录,然后因 IOError 中断。

我开始认为它可能是 csv 的东西......,naaaeeehh,除了其他没有帮助我的尝试之外,最有趣的是使用以下代码:

with open(of+.txt, 'w') as output: ...

令人惊讶的是,它创建了一个以 .csv 结尾的目录和一个以 .csv.txt 结尾的文件,其中包含正确的数据!

啊!

把打开模式文件改成'w+', 'wb',也没什么区别。

有什么想法吗?

【问题讨论】:

    标签: python windows csv


    【解决方案1】:

    如果文件在另一个应用程序中打开,您可以获得权限被拒绝。

    点击此链接查看是否有其他进程正在使用它:http://www.techsupportalert.com/content/how-find-out-which-windows-process-using-file.htm

    否则,我会说尝试打开文件进行读取而不是写入,看看它是否允许您访问它。

    -布赖恩

    【讨论】:

      【解决方案2】:

      该死,它已经在工作了!就像说我找不到我的眼镜并戴上它。

      谢谢布赖恩,不是那个错误。问题是,在我的代码中,除了 csv 输出文件的完整路径完全正确之外,我还在处理 ubuntu 分隔符。但我将其替换为 os.sep ,并开始像魅力一样工作:)

      再次感谢!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-15
        • 2014-05-03
        • 1970-01-01
        • 2016-02-28
        • 2015-11-21
        • 2012-07-01
        • 2013-06-07
        相关资源
        最近更新 更多