用mmap打开文件失败

2024-10-02 10:21:34 发布

您现在位置:Python中文网/ 问答频道 /正文

Windows上的Python2.7。尝试使用mmap模块,但是使用openfile处理程序而不是with open(filename, "r+b") as f:我只打开它并得到一个WindowsError [Error 5]。在

不管是否以管理员身份运行,它都会重新生成。 使用codecs.open()并不能解决问题。在

# -*- coding: utf8 -*-
from __future__ import print_function
import mmap

class QSHFile(object):
    def __init__(self, filename):
        self.filename = filename
        self.file = open(filename, 'r')
        self.fileno = self.file.fileno()
        self.mm = mmap.mmap(self.fileno, 0)
        print(self.mm[:5])  # prints first 5


if __name__ == '__main__':
    qsh = QSHFile('example.qsh')

经过一番研究,我发现:

^{pr2}$

现在一切正常。我现在做得对吗?在


Tags: 模块importself处理程序windowsopenfilenamefile
1条回答
网友
1楼 · 发布于 2024-10-02 10:21:34

是的,就是这样,谢谢大家!

# -*- coding: utf8 -*-
from __future__ import print_function
from mmap import ACCESS_READ, mmap
from binascii import hexlify as hex

class QSHFile(object):
    def __init__(self, filename):
        self.filename = filename
        self.file = open(filename, 'rb')
        print('File [%s] opened' % self.filename)
        self.fileno = self.file.fileno()
        self.mm = mmap(self.fileno, 0, access=ACCESS_READ)
        print('File size: %s bytes' % self.mm.size())
        print(hex(self.mm[:5]))


if __name__ == '__main__':
    qsh = QSHFile('example.qsh')

相关问题 更多 >

    热门问题