如何在Python中从文本中检测关键字

时间:2019-05-09 22:54:54

标签: python python-3.x pyautogui

我正在尝试使用python创建脚本以在工作中使用以自动化我的一些工作。我一直在使用模块pyautogui来模拟鼠标单击和击键,到目前为止效果很好!

现在,我正在尝试弄清楚如何自动为python输入几行文本并检测一些关键字。每次我运行脚本时,文本都将位于同一位置,因此我认为可以使用pyautogui选择我想要的文本并将其复制到剪贴板。之后,我使用模块win32clipboard馈送python文本。

Python最终仅打印剪贴板上的内容。 我究竟做错了什么?有没有更简单的方法?

elosearch.html

3 个答案:

答案 0 :(得分:1)

您可以替换:

if any(keyword in mytext for keyword in keywords):
     print("test")

时间更长且更丑陋(但功能强大!):

for word in mytext.split(' '):
    for keyword in keywords:
        if keyword == word: print word

答案 1 :(得分:1)

您普遍遇到的问题是您没有解析文本。它是一个很大的块。您需要将其拆分为一个单词列表,以便可以评估每个单词。

...
wordlist = mytext.split()

for trigger in keywords:
   if any(trigger in s for s in wordlist):
      print("HIT!")
...

答案 2 :(得分:1)

input(data) 显示 data,然后等待您的输入(以后将变成mytext的值)。只需删除该行。 data是您的文字:

if any(keyword in data for keyword in keywords):
     print(keyword)

如果关键字没有空格,则可以通过将文本拆分为标记并将标记集与关键字集进行比较来改进程序,避免偶然的子字符串匹配并获得更好的性能。 :

keywords = {"m1", "M1", "Melding_1"}
if keywords & set(data.split()):
     print("test")