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 参数是一个模块,类似于 importfrom

关于python -m 导致 "Error while finding module specification for",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57775315/

10-12 18:23