collection.count
以下是我试图在完整文件中应用正则表达式的代码。无论何时我在较小的文件上测试此代码< 1MB 代码工作正常但在大文件上它不工作并返回空数组。下面是我试图解析的数据示例。 通常它涉及3M行的此类数据。
import re
import sys, getopt
import mmap
shakes = open(sys.argv[1:][0],'r')
love = open(sys.argv[1:][1], "w")
#moreLove = open (sys.argv[1:][2], "w")
#HardLove = open (sys.argv[1:][3], "w")
node = re.compile('\*NODE[a-zA-Z, \r\n\t0-9\.-]+')
element3 = '\*ELEMENT, TYPE=S3RS[a-zA-Z, \r\n\t0-9\.=;_-]+'
element4 = '\*ELEMENT, TYPE=S4RS[a-zA-Z, \r\n\t0-9\.=;_-]+'
m = mmap.mmap(shakes.fileno(), 0, access=mmap.ACCESS_READ)
line = node.findall(m.read().decode('utf-8'))
#for item in line:
# love.write(item)
#print(m.read())
print(line)