linux - 使用不同的参数重新运行相同的命令
问题描述
你好我是linux的初学者。这是我想用不同的参数运行的命令:
'$GEM5/build/ARM/gem5.opt --outdir="Outputs" hw4config.py -c $GEM5/../test_progs/daxpy/daxpy_arm_big --cpu-type="DerivO3CPU" --caches --#l2cache --num_phys_float_regs=phys --num_rob_entries=rob --num_iq_entries=iq'
我希望参数“phys”、“rob”和“iq”随着步长的平方而变化。这是我的python脚本:
import os
phys = 256
rob = 4
iq = 4
i = 1
while phys <= 4096:
rob = 4
while rob <= 256:
iq = 4
while iq <= 256:
cmd = '$GEM5/build/ARM/gem5.opt --outdir="Outputs" hw4config.py -c $GEM5/../test_progs/daxpy/daxpy_arm_big --cpu-type="DerivO3CPU" --caches --#l2cache --num_phys_float_regs=phys --num_rob_entries=rob --num_iq_entries=iq'
os.system(cmd)
iq *= 2
i += 1
rob *= 2
phys *= 2
当我在终端中运行此 python 文件时,invalid integer value 'phys'
出现错误。然后我直接把上面命令行中的那些'phys','rob','iq'参数改成数字,没有错误。我该如何解决?
解决方案
嗯......你认为 Python 可以如何设计你的想法?
在你的cmd = ...
陈述中没有替代品。
如果您的 Python 足够新(3.5+),您可以使用非常相似的行:
cmd = f'$GEM5/build/ARM/gem5.opt --outdir="Outputs" hw4config.py -c $GEM5/../test_progs/daxpy/daxpy_arm_big --cpu-type="DerivO3CPU" --caches --#l2cache --num_phys_float_regs={phys} --num_rob_entries={rob} --num_iq_entries={iq}'
否则,您将需要求助于其他格式化方法。
您的线路按原样将尝试提供“--num_phys_float_regs=phys”(字面意思)参数,并且您的程序正确地抱怨“phys”不是整数值。
推荐阅读
- php - “排除当前帖子”小部件 wordpress(PHP 帮助)
- ruby - 在 Mongodb 中使用长字符串数据索引键
- android - android - com.parse.ParseRequest$ParseRequestException: 错误的 json 响应
- java - JTable 无法设置标题背景颜色
- kotlin - 从 Any 转换到另一个类在 Kotlin 中返回 null
- javascript - 导航栏切换器折叠不起作用
- typescript - 遍历firebase节点语法错误?
- javascript - 如何获得2个可相互整除的随机数?
- python - python - 如何处理电话号码库中的“阿联酋”地区电话号码
- x86 - 内存屏障/栅栏在多核环境中如何工作?