Python 2 --version check和Python 3的返回值之间的差异

问题描述 投票:1回答:1

为什么在Python 2上运行--version检查所返回的收益与在Python 3上产生的收益有所不同?下面是将这两种行为的输出写入文本文件并随后检查该文件的内容时的两种行为的示例。

C:\Users\user1>C:\Python27\python.exe --version >> file2.txt
Python 2.7.13

C:\Users\user1>type file2.txt

C:\Users\user1>C:\Python38\python.exe --version >> file3.txt

C:\Users\user1>type file3.txt
Python 3.8.1

C:\Users\user1>

有没有办法产生与Python 3相同的行为?我想将--version check命令的输出用作批处理文件的一部分,以确保使用正确的版本来执行脚本。

python python-3.x batch-file cmd python-2.x
1个回答
1
投票

Python 2的行为是将--version发送到stderr。出于对重大更改的担忧,在Python 3.4中将其更改为stdout,但未进行反向移植:

您可以redirect stderr确保相同的行为,例如Python MAJOR.MINOR.PATCH已写入文件。

© www.soinside.com 2019 - 2024. All rights reserved.