Проблема: «имя '_eval_expr' не определено», хотя оно должно быть - PullRequest
0 голосов
/ 04 августа 2020

так что у меня возникли проблемы с моим кодом, и я спросил некоторых друзей-программистов, что могло быть не так, потому что я не мог понять это до приезда сюда, но они тоже не знали.

теоретически это должно работать и Я фактически копирую вставленную половину из другого проекта, который у меня есть, и он отлично работает там, но по какой-то причине не в этом коде. работать с github api, чтобы получить код, а затем запустить этот код, но я получаю ошибку

# code

async def parse_str_code(files):
    for f in get_files(files):
        if isinstance(f.encoding, str):
            code = format_content(f.content)
            fn_name = "_eval_expr"
            code = code.strip("` ")
            code = "\n".join(f"    {i}" for i in code.splitlines())
            body = f"async def {fn_name}():\n{code}"
            print(body)
            parsed = ast.parse(body)
            body = parsed.body[0].body
            insert_returns(body)
            env = {}
            exec(compile(parsed, filename="filename", mode="exec"), env)
            await eval(f"{fn_name}()", d)


asyncio.run(parse_str_code(files))

# error

Traceback (most recent call last):
  File "D:/namepy/python/project_running_code_with_github/main.py", line 73, in <module>
    asyncio.run(parse_str_code(files))
  File "D:\name\python\Python\Python38-32\lib\asyncio\runners.py", line 43, in run
    return loop.run_until_complete(main)
  File "D:\name\python\Python\Python38-32\lib\asyncio\base_events.py", line 608, in run_until_complete
    return future.result()
  File "D:/name/python/project_running_code_with_github/main.py", line 68, in parse_str_code
    await eval(f"{fn_name}()", d)
  File "<string>", line 1, in <module>
NameError: name '_eval_expr' is not defined
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...