在运行Python脚本时,可以通过多种方式传递参数。以下是几种常见的方法:
sys.argv
从命令行传参这是最常见的方式。sys.argv
是一个列表,包含了脚本名称和所有传递的参数。
示例代码:
import sys
print("脚本名称:", sys.argv[0])
print("传递的参数数量:", len(sys.argv) - 1)
print("所有传递的参数:", sys.argv[1:])
运行方式:
python script.py arg1 arg2 arg3
输出结果:
脚本名称: script.py
传递的参数数量: 3
所有传递的参数: ['arg1', 'arg2', 'arg3']
argparse
库argparse
是一个功能强大的库,可以方便地定义和解析命令行参数和选项。
示例代码:
import argparse
parser = argparse.ArgumentParser(description='这是一个示例脚本')
parser.add_argument('--name', type=str, help='输入你的名字')
parser.add_argument('--age', type=int, default=18, help='输入你的年龄,默认是18')
args = parser.parse_args()
print(f"你好,{args.name}!")
print(f"你的年龄是 {args.age} 岁。")
运行方式:
python script.py --name Alice --age 25
输出结果:
你好,Alice!
你的年龄是 25 岁。
你可以通过设置环境变量来传递参数。这在需要隐藏敏感信息(如密码)时特别有用。
示例代码:
import os
name = os.getenv('NAME', '未知')
age = int(os.getenv('AGE', 18))
print(f"你好,{name}!")
print(f"你的年龄是 {age} 岁。")
运行方式(Linux/macOS):
export NAME=Alice
export AGE=25
python script.py
运行方式(Windows):
set NAME=Alice
set AGE=25
python script.py
对于复杂的参数设置,可以使用配置文件(如 JSON、YAML 或 INI 文件)来存储参数。
示例代码(使用 JSON 文件):
import json
with open('config.json', 'r') as f:
config = json.load(f)
name = config['name']
age = config['age']
print(f"你好,{name}!")
print(f"你的年龄是 {age} 岁。")
配置文件(config.json):
{
"name": "Alice",
"age": 25
}
运行方式:
python script.py
如果你使用的是集成开发环境(如 PyCharm、VS Code 等),可以在运行配置中设置参数。
例如,在 PyCharm 中:
sys.argv
或 argparse
。argparse
。每种方法都有其适用场景,可以根据具体需求选择合适的方式。