我正在尝试导入我创建的模块 (module_name.py
) using __import__()
但我看到以下错误:
Traceback (most recent call last):
File "test.py", line 80, in <module>
testImportMethod()
File "test.py", line 68, in testImportMethod
m = __import__("module_name")
File "/dir/module_name.py", line 147
def insert_model(model: MyModel):
^
SyntaxError: invalid syntax
module_name.py
具有以下代码:
class MyModel(object):
property1 = None
property2 = None
class ThingDAO(object):
@staticmethod
def get_thing_by_id(id):
...
@staticmethod
def insert_model(model: MyModel):
...
为什么导入过程会出现类型参数问题?
最佳答案
并不是导入过程存在类型参数问题。问题在于 Python 3.5 ( PEP 484 ) 中添加了类型化参数,并在 Python 2.7 上引发此类 SyntaxErrors。
很可能(考虑到 SyntaxError
)您正在使用较旧版本的 Python,要使其正常工作,您必须安装并使用较新的 Python 版本,或者使用 workarounds mentioned in the PEP 中的一个,例如:
class MyModel(object):
property1 = None
property2 = None
class ThingDAO(object):
@staticmethod
def get_thing_by_id(id):
pass
@staticmethod
def insert_model(model):
# type: (MyModel) -> None
pass
关于python - 尝试导入具有带类型参数的类方法的模块时出现导入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46195012/