python file.truncate Errno 13权限被拒绝

时间:2014-07-02 10:45:55

标签: python-2.7

我编写了一个简单的python脚本,用于从“.h”或“.c”文件中删除较旧的修订历史记录。

这是代码:

import mmap

f = open("D:\MyFile.h", "r+");
m = mmap.mmap(f.fileno(), 0);
index = m.find("/*+- Revision History");

if (index):
    print index;

f.seek(index);
f.truncate();
f.close();

它出现以下错误:

Traceback (most recent call last):
File "C:/Python27/Omni", line 15, in <module>
    f.truncate();
IOError: [Errno 13] Permission denied

2 个答案:

答案 0 :(得分:1)

请更改模式以打开这样的文件

f = open("D:/MyFile.h", "r+");
f.truncate()
f.close()

因为您没有对该文件的写入权限,所以它收到了该错误。希望这能解决问题。 希望你使用的是windows系统。然后按照上面的步骤操作。它对我有用。我的python版本是2.6。 既然你想做截断,从文件中删除所有数据,它需要写权限,所以我使用了r+

答案 1 :(得分:0)

我在ubuntu上成功运行了相同的程序,它运行得很好。我想与Windows权限有关。