运行Python脚本如何传参

在运行Python脚本时,可以通过多种方式传递参数。以下是几种常见的方法:

1. 使用 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']

2. 使用 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 岁。

3. 使用环境变量

你可以通过设置环境变量来传递参数。这在需要隐藏敏感信息(如密码)时特别有用。

示例代码:

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 

4. 使用配置文件

对于复杂的参数设置,可以使用配置文件(如 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 

5. 在 IDE 中设置运行参数

如果你使用的是集成开发环境(如 PyCharm、VS Code 等),可以在运行配置中设置参数。

例如,在 PyCharm 中:

  1. 右键点击脚本文件,选择“Edit Configurations”。
  2. 在“Script path”下输入脚本路径。
  3. 在“Parameters”字段中输入要传递的参数。
  4. 点击“Run”。

总结

  • 简单场景:使用 sys.argvargparse
  • 需要结构化参数:使用 argparse
  • 隐藏敏感信息:使用环境变量。
  • 复杂配置:使用配置文件。
  • 在 IDE 中运行:通过运行配置设置参数。

每种方法都有其适用场景,可以根据具体需求选择合适的方式。

你可能感兴趣的:(python,python)