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 )
相关推荐
洛阳纸贵Coco.Leo.YI2 分钟前
10分钟在Windows11下Ubuntu内安装docker-Version28.51
linux·ubuntu·docker
阿巴~阿巴~4 分钟前
Ubuntu 20.04 安装 Redis
linux·服务器·数据库·redis·ubuntu
aitav019 分钟前
⚡ arm 32位嵌入式 Linux 系统移植 NTP 服务
linux·arm开发·ntp
郝学胜-神的一滴20 分钟前
Effective Python 第44条:用纯属性与修饰器取代旧式的 setter 与 getter 方法
开发语言·python·程序人生·软件工程
爱奥尼欧38 分钟前
【Linux笔记】网络部分——socket 编程 TCP实现多台虚拟机使用指令访问云服务器
linux·服务器·网络
yolo_guo43 分钟前
sqlite 使用: 03-问题记录:在使用 sqlite3_bind_text 中设置 SQLITE_STATIC 参数时,处理不当造成的字符乱码
linux·c++·sqlite
m0”-“0m1 小时前
MySQL、Nignx和Docker在Linux上的安装详解
linux·数据库·mysql
luopandeng1 小时前
amd npt技术 对比 intel ept 技术
java·linux·网络
嫂子的姐夫1 小时前
11-py调用js
javascript·爬虫·python·网络爬虫·爬山算法
---学无止境---2 小时前
Linux中kmalloc内存分配函数的实现
linux