for printJobString in logfile:
userRegex = re.search('(\suser:\s)(.+?)(\sprinter:\s)', printJobString)
if userRegex:
userString = userRegex.group(2)
pagesInt = int(re.search('(\spages:\s)(.+?)(\scode:\s)', printJobString).group(2))
oben ist mein Code, wenn ich dieses Programm im Modul betreiben ich am Ende immer,RegExpr in Python
Traceback (most recent call last):
File "C:\Users\brandon\Desktop\project3\project3\pages.py", line 45, in <module>
log2hist("log") # version 2.
File "C:\Users\brandon\Desktop\project3\project3\pages.py", line 29, in log2hist
pagesInt = int(re.search('(\spages:\s)(.+?)(\scode:\s)', printJobString).group(2))
AttributeError: 'NoneType' object has no attribute 'group'
ich diesen Fehler wissen, bedeutet, dass die Suche None
zurückkehrt, aber ich bin nicht sicher, wie man mit diesem Fall umgeht. Jede Hilfe würde geschätzt werden, sehr neu für Python und immer noch die Grundlagen zu lernen.
Ich schreibe ein Programm, das die Anzahl der Seiten drucken soll, die ein Benutzer hat. 180.186.109.129 code: knh benutzer: luis drucker: core 2 pages: 32 ist eine Zielzeichenfolge, meine Python-Datei versucht, eine Datendatei zu erstellen, die eine Zeile für jeden Benutzer enthält und die Gesamtzahl der gedruckten Seiten enthält
Dies ist ein Regex-Problem, kein Python-Problem. Sie sollten Ihren Regex unter http://regexr.com/ debuggen oder eine Frage mit Ihrem Regex-Muster und einer Beispiel-Zielzeichenfolge posten. –
bearbeitet, um zu versuchen, in meinem Ziel klarer zu sein @ap – bkennedy
@ap Ich versuche, regexr.com zu verwenden, aber ich denke, das Format, das ich benutze, um die Datei nach "user:" "printer:" zu durchsuchen, ist richtig, ich Ich bin mir nicht sicher, was ich hier falsch mache, meines Wissens sucht es nach diesen Wörtern und ignoriert die weißen Bereiche. Mein Denkprozess ist eindeutig falsch, da er nicht tut, was er meiner Meinung nach tun sollte. – bkennedy