<p>这是最终代码,它工作得非常完美:</p>
<pre><code>from tkinter import *
import threading, keyword
def Process():
while True:
a = textArea.get(0.0, END)
b = a.split("\n")
words = {}
for f in range(1, len(b)+1):
bb = b[f-1].split(" ")
bb2 = []
for ff in range(1, len(bb)+1):
try:
bb3 = words[bb[ff-1]]
bb3.append(str(f) + "." + str(len(" ".join(bb2))) + " - " + str(f) + "." + str(len(" ".join(bb2)) + len(bb[ff-1]) + 1))
except:
words[bb[ff-1]] = [str(f) + "." + str(len(" ".join(bb2))) + " - " + str(f) + "." + str(len(" ".join(bb2)) + len(bb[ff-1]) + 1)]
bb2.append(bb[ff-1])
for f3 in words:
if f3 in keyword.kwlist:
for ff in words[f3]:
wordss = ff.split(" - ")
textArea.tag_add("code", wordss[0], wordss[1])
textArea.tag_config("code", foreground="red")
master = Tk()
textArea = Text()
textArea.pack()
threading.Thread(target=Process).start()
master.mainloop()
</code></pre>
<p>谢谢大家!:D</p>