2022年 11月 3日

python -v 和 python -V

这里写目录标题

  • 1. `python -v` 和 `python -V`
    • 1.1. `python -V` (大写)
    • 1.2. `python -v` (小写)

1. python -vpython -V

1.1. python -V (大写)

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

原话: Print the Python version number and exit.

1.2. python -v (小写)

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

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