Создание списка всех функций из файла .py и запуск их случайным образом - PullRequest
0 голосов
/ 03 мая 2019

Я хочу создать список всех функций в файле .py, а затем использовать эти функции случайным образом.Я уже создал список с помощью dir (), но не могу запустить.

файл с функциями file.py:

def f1:
   # some code
def f2:
   # some code
def f3:
   # some code

другой скрипт:

functions = dir(file)
random.choice(functions)()

Это показывает эту ошибку

TypeError: 'str' object is not callable

1 Ответ

0 голосов
/ 03 мая 2019

Если все функции в file1.py содержат только функции без аргументов или функции с аргументами только значений по умолчанию, то

, если file1.py равно

def f1():
    print ("f1")

def f2():
    print ("f2")

def f3():
    print ("f3")

def f4(i=0):
    print ("f4")

Другой скрипт будет:

import file1
from inspect import getmembers, isfunction
import random

functions_list = [o for o in getmembers(file1) if isfunction(o[1])]
random.shuffle(functions_list)

for f in functions_list:
    f[1]()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...