python 执行时 命令行传入参数

例如要执行test 文件,想要将aaa 和 123 传入 test 作为一个变量传入执行

bash 复制代码
python test.py  aaa 123

方法 1 使用 argparse

python 复制代码
import argparse
if __name__ == "__main__":
  parser = argparse.ArgumentParser()
  parser.add_argument('--aa', type=str, default = None)
  parser.add_argument('--bb', type=int, default=32)
  args = parser.parse_args()
  if(args.bb==3):
    print(f'hello world, args.bb={args.bb}')
  else:
    print(f'sorry, args.bb is not 3, but ={args.bb}')
python 复制代码
import argparse
if __name__ == "__main__":
  parser = argparse.ArgumentParser()
  parser.add_argument('--aa', type=str, default = None)
  parser.add_argument('--bb', type=int, default=32)
  args = parser.parse_args()
  print(args.aa)
  print(args.bb)

方法 2 使用 sys.argv

python 复制代码
import sys
gpus = sys.argv[1]
batch_size = sys.argv[2]
print(gpus)
print(batch_size)

注意,可以使用以下代码 获取输入命令个数

python 复制代码
len(sys.argv)   

注意 sys.argv 为字符串,想要转换成int 性数据可以使用

python 复制代码
num=int(batch_size )
相关推荐
蒹葭玉树6 小时前
【C++上岸】C++常见面试题目--操作系统篇(第二十八期)
linux·c++·面试
算法_小学生6 小时前
LeetCode 热题 100(分享最简单易懂的Python代码!)
python·算法·leetcode
2501_927773076 小时前
imx6驱动
linux·运维·服务器
230万光年的思念7 小时前
【无标题】
python
hy____1237 小时前
Linux_进程间通信
linux·运维·服务器
shengli7227 小时前
机器学习与人工智能
jvm·数据库·python
2301_765703147 小时前
Python迭代器(Iterator)揭秘:for循环背后的故事
jvm·数据库·python
郭涤生7 小时前
C++的函数是否可以做到完全覆盖Linux和windows的跨平台
linux·c++·windows
追风少年ii7 小时前
多组学扩展---分子对接pyrosetta
python·数据分析·空间·单细胞
南宫码农7 小时前
神马影视8.5版本如意伪静态+视频教程
linux·运维·centos