执行Python脚本并传入JSON数据格式的参数有多种方式,下面介绍三种常见的方式:
方法一:sys.argv获取传入的参数
通过sys.argv获取命令行输入的参数列表,根据需要解析为json数据格式。
示例一:假设Python脚本的名称为test.py,执行方式如下:
python test.py '{"name": "张三", "age": 18}'
test.py的代码示例:
import sys
import json
if __name__ == '__main__':
args = sys.argv[1] # 获取命令行参数
data = json.loads(args) # 解析为json
print(data)
输出结果:
{
"name": "张三",
"age": 18
}
示例二:可以使用argparse模块对参数进行更加详细的解析。test.py的代码示例:
import argparse
import json
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--data', required=True, help='json格式数据')
args = parser.parse_args()
data = json.loads(args.data)
print(data)
执行方式如下:
python test.py --data '{"name": "张三", "age": 18}'
输出结果:
{
"name": "张三",
"age": 18
}
方法二:使用stdin获取参数
通过stdin获取传入的参数。
示例一:假设Python脚本的名称为test.py,执行方式如下:
echo '{"name": "张三", "age": 18}' | python test.py
test.py的代码示例:
import sys
import json
if __name__ == '__main__':
args_str = sys.stdin.read() # 获取stdin数据
data = json.loads(args_str) # 解析为json
print(data)
输出结果:
{
"name": "张三",
"age": 18
}
示例二:使用argparse模块。test.py的代码示例:
import argparse
import json
import sys
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--data', required=True, help='json格式数据')
args = parser.parse_args()
data = json.loads(args.data)
print(data)
执行方式如下:
echo '{"name": "张三", "age": 18}' | python test.py --data -
输出结果:
{
"name": "张三",
"age": 18
}
方法三:使用Environment Variables获取参数
通过环境变量获取参数。
示例一:假设Python脚本的名称为test.py,执行方式如下:
DATA='{"name": "张三", "age": 18}' python test.py
test.py的代码示例:
import os
import json
if __name__ == '__main__':
data_str = os.environ['DATA'] # 获取环境变量
data = json.loads(data_str) # 解析为json
print(data)
输出结果:
{
"name": "张三",
"age": 18
}
示例二:使用argparse模块。test.py的代码示例:
import argparse
import json
import os
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--data', required=True, help='json格式数据')
args = parser.parse_args()
data = json.loads(args.data)
print(data)
执行方式如下:
DATA='{"name": "张三", "age": 18}' python test.py --data "$DATA"
输出结果:
{
"name": "张三",
"age": 18
}
以上是三种执行Python脚本并传入JSON数据格式参数的方式,根据具体需求选择适合的方式即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:执行python脚本并传入json数据格式参数方式 - Python技术站