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 小时前
Python 装饰器前传:如果不懂“闭包”,你只是在复刻代码
后端·python
明月_清风6 小时前
打破“死亡环联”:深挖 Python 分代回收与垃圾回收(GC)机制
后端·python
ZhengEnCi1 天前
08c. 检索算法与策略-混合检索
后端·python·算法
Johny_Zhao1 天前
OpenClaw中级到高级教程
linux·人工智能·信息安全·kubernetes·云计算·yum源·系统运维·openclaw
明月_清风1 天前
Python 内存手术刀:sys.getrefcount 与引用计数的生死时速
后端·python
明月_清风1 天前
Python 消失的内存:为什么 list=[] 是新手最容易踩的“毒苹果”?
后端·python
Sheffield2 天前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
Flittly2 天前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(3)TodoWrite (待办写入)
python·agent
千寻girling2 天前
一份不可多得的 《 Django 》 零基础入门教程
后端·python·面试
Sheffield2 天前
Alpine是什么,为什么是Docker首选?
linux·docker·容器