在 Python 中,可以使用命令行参数为程序传递额外的信息。在操作系统的命令行运行 Python 脚本文件时,文件名称之后添加的参数称为命令行参数。可以根据需要使用这些命令行参数,比如根据不同的参数来执行不同的操作或配置。
「语法:」
python script_name.py arg1 arg2 ...
使用 sys.argv 传递参数sys 模块是一个内置模块,它使我们能够使用一些变量和函数在任何平台上与 Python 解释器进行交互。为 Python 脚本文件传递命令行参数的方法之一是使用 sys.argv,它是在执行期间传递的所有参数的列表。
import sysarguments = sys.argvscript_name = arguments[0]other_arguments = arguments[1:]print("脚本名称:", script_name)j = 1for i in arguments[1:]: if i != '': print(f"第{j}个参数:{i}") j +=1或
import sysn = len(sys.argv)script_name = sys.argv[0]print("脚本名称:", script_name)for i in range(1,n): print(f"第{i}个参数:{sys.argv[i]}")以上示例保存为脚本文件后,在系统命令行模式运行:
python 1.py a b c d
运行输出:脚本名称: 1.py第1个参数:a第2个参数:b第3个参数:c第4个参数:d使用 sys.argv 获取命令行参数列表,第一个参数arguments[0]是脚本的名称,之后的数据是传递给脚本的参数。
「实例:反转输出字符串」
字符串作为参数进行传递,输出反转后的字符串。
import sysarg = sys.argv[1]print(arg[::-1])命令行运行:python 1.py “abcdef”输出:fedcba命令行参数错误处理如果 Python 脚本需要参数,你运行脚本时没有在命令行传递参数将引发 IndexError 异常,我们可以使用 try-except 进行错误处理。
import systry: arg = sys.argv[1]except IndexError: raise SystemExit(f"错误: {sys.argv[0]} 缺少参数 <反转字符串>")print(arg[::-1])在这里我们简要介绍了使用 sys.argv 来传递命令行参数,Python 命令行参数是不可控的,可能会出现多种错误。请注意,命令行参数始终会以字符串的形式传递,因此如果您需要使用其他数据类型,需要进行适当的转换。
❝
文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!
❞