Recibir valor de Arduino con Python [SOLUCIONADO]

Buenas,

Después de comunicar Arduino con Python tengo un problema.
Consigo leer el valor exacto que envío con Arduino, pero no puedo trabajar con él desde Python.

En el .INO tengo un botón que envía 0 cuando no está pulsado y cuando lo pulso envía 1, esto funciona correctamente.

if(digitalRead(2)==0){
Serial.println("0");
}
if(digitalRead(2)==1){
Serial.println("1");
}

En el .PY recibo correctamente el valor, pero únicamente puedo imprimirlo en pantalla. Si trato de utilizar este valor por ejemplo para un IF o para hacer alguna operación no me lo reconoce.

while True:
valorArduino = PuertoSerie.readline()
print "Valor Arduino: " + valorArduino.rstrip('\n')

Imagino que debe ser por la forma que tengo de enviar el valor desde Arduino, o bien por la forma de recibirlo. He tratado de almacenar con Python el valor de esta forma pero nada, jamás entra en el IF, ni tratándolo como string ni cómo int.

valor = str(PuertoSerie.readline())
if valor == "1":
print("Pulsado")
else:
print("Sin pulsar")

Si me podéis echar un cable os lo agradezco.
Saludos y gracias!

Me parece que te esta introduciendo un caracter de final de linea al convertirlo en string

valor = PuertoSerie.readline()
Valor=valor.rstrip('\n')

if valor == 1:
print("Pulsado")
else:
print("Sin pulsar")

Saludos.

Gracias por tu respuesta PeterKantTropus, pero tampoco me deja hacer la comparación.
Lo acabo de colocar así y nada, jamás entra en el IF.

valorArduino = PuertoSerie.readline()
valorFinal = valorArduino.rstrip('\n')
if valorFinal == 1:
print("Pulsado")
else:
print("Sin pulsar")

Si quisiera imprimir el valor en pantalla lo hace perfectamente, pero a la hora de que el IF compare si es 0 ó 1... Nada de nada, jamás entra al IF.

He probado enviando desde el .INO como valor int y "str", y comparando en el IF del .PY como si fuese un "str" o int.

Jamás me entra en el IF.
¿Alguien sabe qué puede estar pasando?

Ya está resuelto, un chico me ayudó desde Facebook.

Cuando recibía el valor con Python, estaba recibiendo en vez de ‘0’ ó ‘1’, recibía ‘1\r\n’ ó ‘0\r\n’ con lo cual jamás iba a entrar en el IF.

Aquí os dejo las dos formas que he utilizado para recibir el valor y lo que recibía, la segunda es que me sirve para comparar el valor recibido con ‘0’ ó ‘1’

Recibiendo así → valorArduino = PuertoSerie.readline() → valorArduino recibía ‘1\r\n’ si estaba pulsado y ‘0\r\n’ cuando no se pulsaba nada.

Recibiendo así → valorArduino = PuertoSerie.readline().strip() → valorArduino recibía ‘1’ si estaba pulsado y ‘0’ cuando no se pulsaba nada.