python3 -t参数的功能是什么?为何未在python3 --help中列出?
Python3里
-t参数到底是干啥的? 先看用户遇到的情况:
执行命令:
$ python3 -t -c 'print("hello world")' hello world
这个-t参数在python3 --help里查不到,但用了之后没报错——不像用个不存在的-r参数会直接报错退出:
$ python3 -r Unknown option: -r usage: python3 [option] ... [-c cmd | -m mod | file | -] [arg] ... Try `python -h' for more information.
答案
-t是Python藏起来的调试参数,专门用来检测代码里制表符和空格混用缩进的问题:
- 当代码里同时用了制表符(Tab)和空格来缩进时,用
-t启动Python会弹出警告,但不会阻止代码运行; - 如果用
-tt(两个t),会直接把这种缩进混用判定为错误,终止代码执行。
它之所以没出现在--help里,是因为属于内部调试/开发用的参数,不是给普通用户日常用的,但解释器本身是认得它的,所以不会像-r那样报错。
举个例子,要是你写的脚本里缩进既有Tab又有空格,用-t运行就会看到类似提示:
$ python3 -t bad_indent.py bad_indent.py:3: Warning: Tab character
(不同Python版本的提示可能略有不同,严重的混用会直接触发TabError)
内容的提问来源于stack exchange,提问作者no step on snek
相关产品推荐
相关产品推荐

