为了账号安全,请及时绑定邮箱和手机立即绑定

无法将字符串转换为浮点数

无法将字符串转换为浮点数

人到中年有点甜 2022-01-18 21:32:40
我需要从服务器获取 GPU-Power。这应该通过 nvidia-smi 完成。  def getGpuPower(self):      splitedGpuPower = os.popen("nvidia-smi --query-gpu=power.draw --format=csv,noheader,nounits").read().replace("\n", ",").split(",")      for x in range(4):        self.gpuPower += float(splitedGpuPower[x])      return self.gpuPower我需要一个像 250,00 这样的浮点数我实际上得到(  File "test1.py", line 22, in getGpuPower    self.gpuPower += float(splitedGpuPower[x])ValueError: could not convert string to float:)输出看起来像这样$ nvidia-smi --query-gpu=power.draw --format=csv,noheader,nounits8.507.4311.04
查看完整描述

1 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

假设您的输出os.popen("nvidia-smi --query-gpu=power.draw --format=csv,noheader,nounits").read()is 8.50\n7.43\n11.04,以下应该有效。


def getGpuPower():

      #Split on newline

      splitedGpuPower = "8.50\n7.43\n11.04".split("\n")

      gpuPower = 0

      #Iterate through the list

      for power in splitedGpuPower:

          #If string is non empty, convert to float and add

          if power.strip() != '':

              gpuPower += float(power)

      print(gpuPower)

输出将是


getGpuPower()

#26.97


查看完整回答
反对 回复 2022-01-18
  • 1 回答
  • 0 关注
  • 270 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号