换句话说,假设有个包的名称是“pname”,那么,“python -m pname”,其实就等效于“python -m pname.__main__”。 仍以前文创建 HTTP 服务为例,“http”是 Python 内置的一个包,它没有“__main__.py”文件,所以使用“-m”方式执行时,就会报错:No module named http.__main__; 'http' is a packag...
其实,“-m”后面的“xxx”代表一个模块(module)。带上“-m”参数的命令会去sys.path中的路径去补全完整路径。一个模块通常使用__init__.py文件来暴露接口,供第三方使用。当你运行“python -m xxx”时,Python会导入并运行该模块。例如,运行“python -m http.server”会启动一个简单的HTTP服务器,而“python ...
总结一下,python -m module_name与python folder/file.py,都会把定位到的Python脚本当成主程序入口来执行,即在执行时,该脚本的__name__都是__main__,与import导入模块不同。 但是有注意到上面两种调用方式的不同之处吗? 通过python -m module_name执行一个模块会首先执行package下的__init__.py文件,并且__...
在“-m”之后,如果是一个无效的模块名,则会报错“No module named xxx”。 如果是一个带后缀的模块,则首先会导入该模块,然后可能报错:Error while finding module specification for 'xxx.py' (AttributeError: module 'xxx' has no attribute '__path__'。 对于一个普通模块,有时候这两种写法表面看起来是等...
充分理解 python -m mod 最近在看 __main__ 的官方文档 —— https://docs.python.org/3/library/__main__.html#module-__main__ ,提到一个 python -m 的用法,很是不理解,所以查找了很多文档,并进行了如下总结。 查看Python 的 help 内容
其中,<module_name>是要运行的Python模块的名称。 按下Shift + Enter运行代码单元格。 这将在Jupyter中执行'python -m'命令,并运行指定的Python模块。请确保在运行命令之前已经安装了相应的Python模块。 例如,如果要在Jupyter中运行'python -m http.server'命令来启动一个简单的HTTP服务器,可以执行以下步骤: ...
python [-bBdEhiIOqsSuvVWx?] [-c command | -m module-name | script | - ] [args] 1. 本文想要聊聊比较特殊的“-m”选项:关于它的典型用法、原理解析与发展演变的过程。 首先,让我们用“--help”来看看它的解释: -m mod run library module as a script (terminates option list) ...
在实际开发中,-m选项非常有用,因为它可以使您更轻松地运行Python脚本。例如,如果您正在开发一个Python模块,并且该模块包含一个__main__函数,您可以使用-m选项来直接运行该模块,而不必使用python命令和模块文件名。例如: python -m mymodule 这将运行名为mymodule的Python模块,并执行其中的__main__函数。
1.-m mod : run library module as a script (terminates option list) 也就是将一个python library 中的模块当做脚本来运行。这里实际上可能理解能力强的人就已经能理解了,虽说理解了,但是将模块当做脚本运行有什么作用呢? python -m 的作用及使用方法 ...
python [-bBdEhiIOqsSuvVWx?] [-c command | -m module-name | script | - ] [args]复制代码 本文想要聊聊比较特殊的“-m”选项:关于它的典型用法、原理解析与发展演变的过程。 首先,让我们用“--help”来看看它的解释: -m mod run library module as a script (terminates option list) ...