Python:def __init __(self,config_path:str,* args,** kwargs):^ SyntaxError:语法无效

时间:2018-05-06 04:36:24

标签: python

我在mac上运行python 3.6.5,代码的所有者告诉我把它带到这里,因为他说这是某种本地错误。不知道为什么会这样:

Traceback (most recent call last):
File "/Users/User/Downloads/Bot/Python/launcher.py", line 2, in <module>
    from catcher import Poke
File "/Users/User/Downloads/Bot/Python/catcher.py", line 11
    def __init__(self, config_path: str, *args, **kwargs):
                                       ^
SyntaxError: invalid syntax

这是错误区域:

import asyncio
import aiohttp
import discord
import json
import random

from distutils.version import LooseVersion
__version__ = '0.2.5'

class Poke(discord.Client):
    def __init__(self, config_path: str, *args, **kwargs):
        self.config_path = config_path
        self.update_check = False
        with open(self.config_path) as f:
            self.configs = json.load(f)

编辑:添加了更多代码并重新组织了代码缩进以匹配终端读取以及键入的代码。还添加了扩展说明

1 个答案:

答案 0 :(得分:1)

我假设您没有使用Python 3.5 +运行程序。

由于您的代码仅从似乎与Python 3兼容的模块导入,因此会引发SyntaxError。

Type hintsconfig_path: str)是Python 3.5中的新功能 - 通过键入以下命令确保您运行该python版本:

$ python3 --version
Python 3.6.2

在您的终端。

确保你也像这样执行你的程序:

$ python3 launcher.py