本篇文章将会介绍如何用Python编写一个能输出复杂个人信息的程序。
一、准备工作
在开始编写程序之前,需要确认已经安装了Python编程语言的环境。可以通过以下命令检查:
python --version
如果已经安装了Python,将显示其版本号。
另外,还需要使用到以下库:
json:用于将Python对象转化为JSON字符串
requests:用于发送HTTP请求
argparse:用于解析命令行选项
通过以下命令安装:
pip install json requests argparse
二、程序设计
程序将会有一个命令行界面:
python myinfo.py -n David -a 20 -c US -h 1.80 -w 75
上述命令将输出David的个人信息(年龄20岁,来自美国,身高1.80米,体重75kg):
{
"Name": "David",
"Age": 20,
"Country": "US",
"Height": 1.8,
"Weight": 75.0
}
也可以在命令行中输入以下命令,将个人信息输出到文件中:
python myinfo.py -n David -a 20 -c US -h 1.80 -w 75 -o output.json
上述命令将会将David的个人信息输出到output.json文件中。
三、程序实现
下面是myinfo.py的完整代码:
import json
import requests
import argparse
def get_args():
parser = argparse.ArgumentParser(description="Output personal information in JSON format")
parser.add_argument('-n', '--name', type=str, required=True, help='Name')
parser.add_argument('-a', '--age', type=int, required=True, help='Age')
parser.add_argument('-c', '--country', type=str, required=True, help='Country')
parser.add_argument('-h', '--height', type=float, required=True, help='Height')
parser.add_argument('-w', '--weight', type=float, required=True, help='Weight')
parser.add_argument('-o', '--output', type=str, help='Output file')
args = parser.parse_args()
return args
def output_info(name, age, country, height, weight, output=None):
data = {'Name': name, 'Age': age, 'Country': country, 'Height': height, 'Weight': weight}
json_data = json.dumps(data)
if output:
with open(output, 'w') as f:
f.write(json_data)
else:
print(json_data)
def main():
args = get_args()
output_info(args.name, args.age, args.country, args.height, args.weight, args.output)
if __name__ == '__main__':
main()