Как вызвать функцию из другого файла, взяв имя функции от пользователя в python? - PullRequest
0 голосов
/ 09 мая 2020

давайте предположим, что у меня есть 2 файла a.py и b.py

a.py содержит функцию

def add(data):
    c=data+120
    return c

и b.py содержит code.

import a
funcname=input("Enter function name")
data=int(input("Enter value to be sent")

Я хочу, чтобы когда пользователь вводил «добавить» в качестве имени функции и какое-то значение в данных, тогда будет вызываться add (data).

Ответы [ 2 ]

1 голос
/ 09 мая 2020

Вы можете использовать getattr

import a
funcname=input("Enter function name")
data=int(input("Enter value to be sent"))
result = getattr(a, funcname)(data)
print(result)
0 голосов
/ 09 мая 2020

Я бы сделал:

from subprocess import call
#Add your code here
call(("python[replace this with 3 if it needs to run on Python3]"+data),shell=True)

Функция вызова в основном просто запускает код, введенный пользователем в терминал, как если бы вы ввели python, а затем вошли в функцию.

Надеюсь, это поможет!

...