如何在运行Python脚本文件时传递参数

云课堂学Python 2024-04-03 18:16:41

在 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 命令行参数是不可控的,可能会出现多种错误。请注意,命令行参数始终会以字符串的形式传递,因此如果您需要使用其他数据类型,需要进行适当的转换。

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!

0 阅读:0