admin管理员组

文章数量:1794759

命令行中 python

命令行中 python

看了好多帖子说 “python -v 是包括库的版本号,而 python -V 才是版本号”,特意去搜了下官方文档,证实如上说法并不对,以下是详解:

来源:docs.python/3/using/cmdline.html#cmdoption-v

首先 python -V (大写)与 python --version 功能相同,将 python 版本打印并退出 python。

原话:“Print the Python version number and exit.”

实际运行图:

python -v (小写)是以一种特殊模式进入 python,该模式下每次有模块被初始化就会打印相应信,展示载入的模块名或者内置模块。

原话:“Print a message each time a module is initialized, showing the place (filename or built-in module) from which it is loaded. ”

实际运行展示:

篇幅所限,截取部分显示。可以看到在运行完 python -v 之后,是进入了 python 环境中的,与直接进入 python 不同,多了很多载入模块的信。此外当我尝试运行 import time 载入模块时,也出现了关于该模块的具体信。最后当我用 exit() 命令退出 python 时,它将所有载入的模块清除再退出。

(base) PengfeideMacBook-Pro:~ ted$ python -v import _frozen_importlib # frozen import _imp # builtin import '_thread' # <class '_frozen_importlib.BuiltinImporter'> import '_warnings' # <class '_frozen_importlib.BuiltinImporter'> # 篇幅所限,此处删掉诸多模块 import 'rlcompleter' # <_frozen_importlib_external.SourceFileLoader object at 0x105b35d10> >>> import time import 'time' # <class '_frozen_importlib.BuiltinImporter'> >>> exit() # clear builtins._ # clear sys.path # 篇幅所限此处删掉诸多相似语句 # cleanup[3] wiping sys # cleanup[3] wiping builtins

所以,python -v 并不是简单的展示版本和模块,而是以一种载入模块信的形式启动 python 或进入 python 环境。

本文标签: 命令行Python