Python3.7 Asyncio示例因“ SyntaxError:无效语法”而失败

时间:2019-06-27 16:08:16

标签: python-3.x concurrency python-asyncio

我已经从Github中提取了NCC Group Scout套件回购,并尝试运行它,但是由于不喜欢包含async关键字的方法定义,因此导入模块失败。

我已经在该库上进行了尽可能多的阅读,对于我的一生,我看不到语法错误是什么,所以我希望这里的一些鹰眼成员可以看到它。 / p>

原始文件可以在这里找到-https://github.com/nccgroup/ScoutSuite/blob/master/ScoutSuite/main.py

我尝试插入自己的简单方法定义,并且相同的错误报告已移至该错误定义:

import asyncio

async def xx():
    x = 0

给出相同的错误:

    async def xx():
            ^
SyntaxError: invalid syntax

这里值得讨论的是方法def:

async def _run(provider,
               # AWS
               profile,
               # Azure
               user_account, service_account,
               cli, msi, service_principal, file_auth, tenant_id,       subscription_id,
               client_id, client_secret,
               username, password,
               # GCP
               project_id, folder_id, organization_id, all_projects,
               # General
               report_name, report_dir,
               timestamp,
               services, skipped_services,
               result_format,
               database_name, host_ip, host_port,
               regions,
               fetch_local, update,
               ip_ranges, ip_ranges_name_key,
               ruleset, exceptions,
               force_write,
               debug,
               quiet,
               log_file,
               no_browser,
               programmatic_execution,
               **kwargs):

当我搜索类似的错误时,我看到很多示例,这些错误是在async关键字而不是def关键字下用carat ^报告的。这些都与python版本等有关,但是我正在使用python3.7,与异步引用似乎没关系。

我怀疑这是一个明显的语法错误,使我难以理解。谁能看到它是什么?

1 个答案:

答案 0 :(得分:0)

发生这种情况是因为您正在导入已存在于 stdlib 中的 asyncio,如here