VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • Python3标准库:mmap内存映射文件(2)

f.readline().rstrip()))
  •  
  • m.seek(0) # rewind
  • loc = m.find(word)
  • m[loc:loc + len(word)] = reversed
  •  
  • m.seek(0) # rewind
  • print('Memory After :\n{}'.format(
  • m.readline().rstrip()))
  •  
  • f.seek(0)
  • print('File After :\n{}'.format(
  • f.readline().rstrip()))
  • 在这个例子中,必须单独的回转文件句柄和mmap句柄,因为这两个对象的内部状态会单独维护。

    1.3 正则表达式

    由于内存映射文件就类似于一个字符串,因此也常与其他处理字符串的模块一起使用,如正则表达式。下面的例子会找出所有包含“nulla”的句子。 

    
    	
    1. import mmap
    2. import re
    3.  
    4. pattern = re.compile(rb'(\.\W+)?([^.]?nulla[^.]*?\.)',
    5. re.DOTALL | re.IGNORECASE | re.MULTILINE)
    6.  
    7. with open('lorem.txt', 'r') as f:
    8. with mmap.mmap(f.fileno(), 0,
    9. access=mmap.ACCESS_READ) as m:
    10. for match in pattern.findall(m):
    11. print(match[1].replace(b'\n', b' '))

    由于这个模式包含两个组,所以findall()的返回值是一个元组序列。print语句会找到匹配的句子,并用空格代替换行符,使各个结果都打印在同一行上。

    
    相关教程
    关于我们--广告服务--免责声明--本站帮助-友情链接--版权声明--联系我们       黑ICP备07002182号