pyparsing的作者Paul McGuire是kind enough to help a lot with a problem I'm trying to solve。我们在第一场比赛中打入了一球,但我甚至无法将球投进球门线。孔子说,如果他给了一个学生1/4的解决方案,并且他没有与其他3/4一起回来,那么他不会再教这个学生。所以这是经过近一个星期的沮丧和非常焦虑,我问这个...python&pyparsing newb:如何打开文件
如何打开pyparsing输入文件并打印输出到另一个文件?
这里是我这么远,但它确实他所有的工作
from pyparsing import *
datafile = open('test.txt')
# Backaus Nuer Form
num = Word(nums)
accessionDate = Combine(num + "/" + num + "/" + num)("accDate")
accessionNumber = Combine("S" + num + "-" + num)("accNum")
patMedicalRecordNum = Combine(num + "/" + num + "-" + num + "-" + num)("patientNum")
gleason = Group("GLEASON" + Optional("SCORE:") + num("left") + "+" + num("right") + "=" + num("total"))
patientData = Group(accessionDate + accessionNumber + patMedicalRecordNum)
partMatch = patientData("patientData") | gleason("gleason")
lastPatientData = None
# PARSE ACTIONS
def patientRecord(datafile):
for match in partMatch.searchString(datafile):
if match.patientData:
lastPatientData = match
elif match.gleason:
if lastPatientData is None:
print "bad!"
continue
print "{0.accDate}: {0.accNum} {0.patientNum} Gleason({1.left}+{1.right}={1.total})".format(
lastPatientData.patientData, match.gleason
)
patientData.setParseAction(lastPatientData)
# MAIN PROGRAM
if __name__=="__main__":
patientRecord()
http://docs.python.org/tutorial/inputoutput.html#reading-and-writing-files – monkut