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#转Python第4.1篇:当 try-catch 遇上 try-except:异常处理的大不同
开发语言·python·c#
陈年老古董7 分钟前
矿物分类数据处理:缺失值填充方法详解
开发语言·python·机器学习·项目
mounter6258 分钟前
重构 Kexec Handover:Linux 内核如何将 KHO 打造为无状态、可重入的跨重启交接基石
linux·内存管理·linux kernel·kernel·liveupdate
晚风醉蝶12 分钟前
1-18-基数排序-RadixSort
python·算法·排序算法·基数排序
今天AI了吗21 分钟前
从“金鱼脑”到“大象记忆”:AI Agent 短期记忆与长期记忆的存储与检索全解
数据库·人工智能·python·sql·rust
whcyhhh38 分钟前
头歌实践教学平台:数据科学与大数据技术导论(十八4)
大数据·开发语言·python
编码者卢布39 分钟前
【Azure Developer】通过 API 获取 Azure VM 信息实践指南 Part 2(Azure China)
python·flask·azure
65岁退休Coder1 小时前
LangGraph v1.2.9 核心概念 & 流程控制
后端·python·langchain
杨云龙UP1 小时前
Linux 下 MySQL 常用登录方式及 Socket 排查指南
linux·运维·数据库·mysql·登录·xtrabackup·主从复制