爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 8035|回复: 0

[源代码] 如何写一个带参数的python脚本

[复制链接]

新浪微博达人勋

发表于 2022-4-13 14:17:10 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
需求缘起:

有时我们写一个py文件需要带上配置信息,例如执行py文件时:
python xxx.py datafile=xxxx/xxx/xxx.nc date=20220412
那如何在py文件中支持这种写法呢?

方式1,形参带“--”的:

import argparse
parser = argparse.ArgumentParser(description='manual to this script')
parser.add_argument('--BUSIID', type=str, default=None)
parser.add_argument('--TIME', type=str, default='ABC')
parser.add_argument('--FILE', type=str, default='defaultString')
parser.add_argument('--NUM', type=int, default=1)
args = parser.parse_args()

print(args.BUSIID)
print(args.TIME)
print(args.FILE)
print(args.NUM)

# 命令行执行这句:
# python 带参python命令.py --BUSIID=myBUSIID --TIME=20220113112900 --FILE=/home/xxx.nc --NUM=66

结果:
1.png

方式2,形参不带“--”的:

import argparse
parser = argparse.ArgumentParser(description='manual to this script')
parser.add_argument('BUSIID', type=str, default=None)
parser.add_argument('TIME', type=str, default='ABC')
parser.add_argument('FILE', type=str, default='defaultString')
parser.add_argument('NUM', type=str, default=1)
args = parser.parse_args()

print(args.BUSIID)
print(args.TIME)
print(args.FILE)
print(args.NUM)

# 命令行执行这句:
# python 带参python命令.py BUSIID=myBUSIID TIME=20220113112900 FILE=/home/xxx.nc NUM=66

结果:
2.png




密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表