python3.13的逻辑混乱?还是我的逻辑没缕清楚?
写了一个传参进程序的小程序。
import os from ftplib import FTP import sys if len(sys.argv)>1: print("第一个参数:",sys.argv[1]) if len(sys.argv)>2: print("第二个参数:",sys.argv[2]) else: print("没有提供第二个参数!") else: print("没有提供第一个参数!")
提示我:TabError: inconsistent use of tabs and spaces in indentation
原因是我复制了第一个else,于是,数空格,要保持一至!
修改后的运行结果还不错。
第一个参数: abc 没有提供第二个参数!
但是,再复制一次,就出问题了。

if len(sys.argv)>1: print("第一个参数:",sys.argv[1]) if len(sys.argv)>2: print("第二个参数:",sys.argv[2]) else: print("没有提供第二个参数!") if len(sys.argv)>3: print("第三个参数:",sys.argv[3]) else: print("没有提供第三个参数!") else: print("没有提供第一个参数!")
不输入参数,提示错误。输入一个参数,也有提示。输入两个,第三个的提示给跳过了?

H:\python\studyPython>python ftpConnTest.py 没有提供第一个参数! H:\python\studyPython>python ftpConnTest.py abc 第一个参数: abc 没有提供第二个参数! 没有提供第三个参数! H:\python\studyPython>python ftpConnTest.py abc bcd 第一个参数: abc 第二个参数: bcd
这是怎么回事?

小白到底白不白?知识很空白,脸有点黄,眼睛是黑的,血是红的,心肠算是比较热。