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

我需要从服务器获取 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,nounits


8.50

7.43

11.04


人到中年有点甜
浏览 271回答 1
1回答

慕码人2483693

假设您的输出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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python