Question: I'm communicating with a modem via COM port to recieve CSQ values.

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

print type(csq)

```

returns the following: 

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

```

For further calculation I try to convert "csq" into an integer, but 

```
i=int(csq)

```

returns following error: 

```
invalid literal for int() with base 10: ''

```

Answer: 
Your error message shows that you are trying to convert an empty string into an `int` which would cause problems.

Wrap your code in an if statement to check for empty strings:

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

```

Note that empty objects (empty lists, tuples, sets, strings etc) evaluate to `False` in Python.
As alternative you can put your code inside an try-except-block:

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

```