从字符串转换为Int

时间:2015-05-28 12:41:48

标签: python string python-2.7 converter

我正在通过COM端口与调制解调器通信以接收CSQ值。

pseudo elements

返回以下内容:

response = ser.readline()
csq = response[6:8]

print type(csq)

为了进一步计算,我尝试将“csq”转换为整数,但是

<type 'str'> and csq is a string with a value from 10-20

返回以下错误:

i=int(csq)

3 个答案:

答案 0 :(得分:5)

稍微有点pythonic的方式:

i = int(csq) if csq else None

答案 1 :(得分:3)

您的错误消息显示您正在尝试将空字符串转换为导致问题的int

将代码包装在if语句中以检查空字符串:

if csq:
    i = int(csq)
else:
    i = None

请注意,空对象(空列表,元组,集合,字符串等)在Python中评估为False

答案 2 :(得分:1)

作为替代方案,您可以将代码放在try-except-block中:

try:
    i = int(csq)
except:
    # some magic e.g.
    i = False