小编zed*_*dex的帖子

IOError:[Errno 13]尝试以"w"模式打开隐藏文件时权限被拒绝

我想替换隐藏文件的内容,所以我试图在w模式下打开它,因此它将被删除/截断:

>>> import os
>>> ini_path = '.picasa.ini'
>>> os.path.exists(ini_path)
True
>>> os.access(ini_path, os.W_OK)
True
>>> ini_handle = open(ini_path, 'w')
Run Code Online (Sandbox Code Playgroud)

但这导致了追溯:

IOError: [Errno 13] Permission denied: '.picasa.ini'
Run Code Online (Sandbox Code Playgroud)

但是,我能够通过r+模式实现预期的结果:

>>> ini_handle = open(ini_path, 'r+')
>>> ini_handle.truncate()
>>> ini_handle.write(ini_new)
>>> ini_handle.close()
Run Code Online (Sandbox Code Playgroud)

问:wr+模式之间的区别是什么,一个人有"权限被拒绝"但另一个工作正常?

更新:我使用Python 2.6.6在win7 x64上,目标文件有隐藏的属性集.当我尝试关闭隐藏属性时,w模式成功.但当我重新开启时,它再次失败.

问:为什么w模式在隐藏文件上失败?这是已知行为吗?

python windows file-io winapi hidden-files

22
推荐指数
2
解决办法
7万
查看次数

标签 统计

file-io ×1

hidden-files ×1

python ×1

winapi ×1

windows ×1