says 文档
我写了这段代码来帮助自己理解 -m
def print_hi(n=1):
print('hi'*n)
if __name__ == "__main__":
print_hi(9)
我将其保存为文件
aname.py
。然后我运行了这个命令,得到了预期的结果。
$ python aname.py
hihihihihihihihihi
问题
当我将文件作为模块执行时,出现此错误
$ python -m aname.py
/usr/bin/python: Error while finding module specification for 'aname.py' (AttributeError: module 'aname' has no attribute '__path__')
是什么导致了这个错误?如何解决?
最佳答案
你应该使用没有 .py 后缀的 m,即:$ python -m aname
从手册页:
-m module-name
Searches sys.path for the named module and runs the corresponding .py file as
a script.
m 参数是一个模块,类似于
import
或 from
。关于python -m 导致 "Error while finding module specification for",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57775315/