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

来源:https://docs.python.org/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 -v 和 python -V 详解相关推荐

  1. Python 命令行解析器argparse及传参数详解

    源码实例一 from argparse import ArgumentParserparser = ArgumentParser(description='Beeswarm')group = pars ...

  2. python脚本在命令行中传递参数(附字符查找小案例)

    用命令行调用python脚本的时候,如果想往脚本中传递参数的时候,参数会被python解释器接收,并转换为一系列的字符串,放在sys模块中的argv列表中.因此,可以使用argv[0]来引用第一个参数 ...

  3. python object单引号变成双引号_Python学习第163课--Linux命令行中的单引号和双引号...

    [每天几分钟,从零入门python编程的世界!] 我们都知道引号的作用就是为了引用,比如引用别人说的话,这句话就放在引号里面. 而Linux命令行中的single quote(单引号)和dubble ...

  4. python打包为可执行文件的扩展名,Python脚本文件(.py)打包为可执行文件(.exe)即避免命令行中包含Python解释器...

    在最近的软件工程作业中用到了将Python脚本转化为exe文件这一过程,网上各种博客介绍了很多,有些东西都不完全,我也是综合了很多种方法最后才实现的,我就把这些整理出来,希望可以帮到大家~ 一.环境和 ...

  5. python3命令需要使用命令行开发者工具_3 个 Python 命令行工具

    用 Click.Docopt 和 Fire 库写你自己的命令行应用. 有时对于某项工作来说一个命令行工具就足以胜任.命令行工具是一种从你的 shell 或者终端之类的地方交互或运行的程序.Git 和 ...

  6. python 命令行 模块_深入浅析Python 命令行模块 Click

    Click 是用 Python 写的一个第三方模块,用于快速创建命令行.我们知道,Python 内置了一个 Argparse 的标准库用于创建命令行,但使用起来有些繁琐,Click 相比于 Argpa ...

  7. python命令窗口在哪里_详解如何在cmd命令窗口中搭建简单的python开发环境

    详解如何在cmd命令窗口中搭建简单的python开发环境 1.快捷键win+r输入cmd回车调出cmd界面,在命令行输入python回车,显示python命令无法识别 2.登陆python官网http ...

  8. python中文读音ndarray-numpy中的ndarray方法和属性详解

    NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推.在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量.比如说,二维数组相当于是一个一维数 ...

  9. python argv 详解_对python中的argv和argc使用详解

    主要问题 为什么argv中第一个,即index=0的内容就是文件名? python中argc是用什么实现的? 概念解释 argc:argument counter,命令行参数个数 argv:argum ...

  10. python中3or5什么意思_示例详解Python3 or Python2 两者之间的差异

    每门编程语言在发布更新之后,主要版本之间都会发生很大的变化. 在本文中,Vinodh Kumar 通过示例解释了 Python 2 和 Python 3 之间的一些重大差异,以帮助说明语言的变化. 本 ...

最新文章

  1. 【Java】Cloneable 接口讲解 (包含浅拷贝与深拷贝不一样的实现讲解)
  2. python最流行的框架_2020年最流行Python web开发框架(下)
  3. 我的2013-从GIS学生到GIS职业人的飞跃
  4. Java基础:HashMap的用法
  5. 用框架的你,可能早已忽略了这些事件API
  6. windows 全局变量_如何在Windows中使用全局系统环境变量
  7. leetcode 150. 逆波兰表达式求值(栈)
  8. 带C#示例的String.Equality(==)运算符
  9. 【机器学习】监督学习--KNN(最近邻)算法
  10. SQL2008--SQL语句-存储过程-触发器-事务处理-基本语法-函数
  11. python写sql语句_python3将变量写入SQL语句的实现方式
  12. java和eova的关系_Eova 1.1 发布,Java Web 快速开发平台
  13. 瑞星搜狐畅游合作 “云安全”首次嵌入网游客户端
  14. 基于Flash的开源网页播放器使用方法(FlowPlayer/AdobePlayer)
  15. Markdown 学习小记--进阶技巧-数学公式篇
  16. 21秋期末考试建设工程法规10221k1
  17. Nicolas Bourbaki 是何许人也,下一个中本聪?
  18. Python+bs4实现爬取小说并下载到本地
  19. STM32的存储器与寄存器
  20. 解决vuecli-vue2项目ie浏览器白屏

热门文章

  1. 传输速率单位:比特Byte与字节Bit(不跳动)
  2. 使用110云报警监控我的世界
  3. 7偶分频——六分频器
  4. html 标题 横线,HTML基本指令讲解:格式框架、标题、横线、文字、有序表与无序表...
  5. connection Killed by maxscale
  6. 有哪些值得推荐的.NET ORM框架?
  7. 罗德里格斯公式及其推导
  8. Github微信小程序源码
  9. 学会制作热力图,提升你的数据温度!
  10. leafletjs 热力图_LeaFlet学习之热力图