将自定义函数添加到 Python 中的现有类

可以说我有一个Python程序,它是一个黑匣子,其作用类似于处理器。它读取带有一些指令名称的文本文件,解析该文件并从类指令调用函数。我要允许用户在另一个文件中创建新功能,并允许处理器通过指令类调用这些功能。


示例处理器代码(无法更改):


from instructions import *


instr = Instructions()

code = []

with open('program.txt') as f:

    code = f.readlines()


for line in code:

    command, args = line.split()

    # reads "command arg" and calls "instr.command(arg)"

    string_exec = 'instr.{}({})'.format(command, args)

    eval(string_exec)

示例说明.py:


class Instructions:

    def show(self, arg):

        print(arg, end='')

处理器读取以打印“Hello”的“program.txt”示例:


show 'H'

show 'e'

show 'l'

show 'l'

show 'o'

show '\n'

我希望能够使用新指令从用户读取文件并能够在处理器中执行它们。


也使用指令的用户函数示例:


def print_line(self, args):

    for arg in args:

        instr.show(arg)

    instr.show('\n')

我想以某种方式将用户函数合并到Intructions类中,以便处理器能够运行以下“ program.txt”:


print_line 'Hello'

简而言之,我想将指令功能分为两个文件,一个是一些基本的“固定”指令,另一个是用户定义的“动态”功能。最后,我想在类说明中加载这两个函数。


幕布斯7119047
浏览 207回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python