在python的字符串中找到某个单词时执行函数?

2024-09-30 14:39:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为学校的编程拓展俱乐部做一个程序,我要做的是让用户输入一个字符串,程序搜索这个字符串。例如,他们会键入

moveInstant(4, 8)

它将执行函数

def moveInstant(targetX, targetY)
    pyautogui.moveTo(targetX, targetY)

有意义吗?基本上是获取一个长字符串,并将伪代码的每个实例转换为带有参数的预定义函数。其思想是,用户可以输入一个完整的txt文件,它可以由程序执行。你知道吗


Tags: 函数字符串用户程序键入def编程学校
2条回答

你要找的是eval()方法。 Python Docs

示例:

>>> def test(x):
...   print(x)
>>> test(3)
>>> 3
>>> y = "test(124)"
>>> eval(y)
>>> 124

我很想知道伪代码是什么样子,或者你将如何实现“字符串匹配”。但是:

  1. 一旦获得了正确的函数名和参数,就可以使用exec statement来执行它。如果函数的副作用和返回值都是您想要的,请使用evalDifferences)。或者
  2. 对文本文件执行一些清理工作,并使用execfile function执行它。你知道吗

注意,像evalexec这样的语句可能有害,这就是为什么不可信输入的“字符串匹配”很重要的原因。你知道吗

相关问题 更多 >