2011-02-04 4 views
0

Я ищу пример в python для карты памяти 1gb-файл. Есть ли у кого-нибудь пример, который я могу использовать?Пример использования функции mmap в python

Файл может быть любым случайным текстом. Я просто хочу посмотреть, чтобы увидеть, что это правильный способ сделать это ...

+5

Каковы примеры в документации? http://docs.python.org/library/mmap.html –

+0

какая версия python? –

ответ

2

Вот пример, который может помочь вам понять ММАП в питона (3.0+)

Приведенный ниже код открывает файл, а затем память отображает его. Он использует метод readline() сопоставленного файла, демонстрируя, что он работает так же, как со стандартным файлом. Затем он считывает и записывает фрагменты отображаемого файла (одинаково допустимый способ доступа к содержимому сопоставленного файла, который не изменяет указатель файла). Наконец, указатель файла переопределяется в начале, и содержимое (обновленное) считывается. («14» - это возвращаемое значение функции write(), которое всегда возвращает количество записанных байтов.)

>>> with open("myfile.txt", "wb") as f: 
... f.write(b"Hello Python!\n") 

>>> import mmap 
>>> with open("myfile.txt", "r+b") as f: 
... mapf = mmap.mmap(f.fileno(), 0) 
... print(mapf.readline()) # prints b"Hello Python!\n" 
... print(mapf[:5]) # prints b"Hello" 
... mapf.tell() 
... mapf[6:] = b" world!\n" 
... mapf.seek(0) 
... print(mapf.readline()) # prints b"Hello world!\n" 
... mapf.close() 
... 
b'Hello Python!\n' 
b'Hello' 
14 
b'Hello world!\n'