0

J'ai vu beaucoup de messages avec cette erreur mais le mien semble être vraiment étrange. J'ai un interpréteur à distance donc, je travaille sur Windows avec Pycharm et il est connecté avec mon Raspberry pi3. Chose étrange est que si je lance code via PyCharm cela fonctionne comme un charme, mais si je vais à la console de framboise et ici essayer de script déjeuner comme sudo python mycode.py il me donne cette erreurtype (s) d'opérande non pris en charge pour <<: 'str' et 'int' comportement étrange de Python (Remote)

unsupported operand type(s) for <<: 'str' and 'int' 

J'ai donc même code déjeunant dans 2 façons et je reçois des résultats différents. Qu'est-ce qui peut le provoquer et comment le combattre?

code où il donne l'erreur:

v = ((bytes_arr[k] << 24) & 0xFF000000) | ((bytes_arr[k+1] << 16) & 0xFF0000) | \ 
      ((bytes_arr[k+2] << 8) & 0xFF00) | (bytes_arr[k+3] & 0xFF) 
+0

Etes-vous sûr est la ligne avec l'erreur? Il n'y a pas d'opérateur '-' là-bas. – Barmar

+0

l'erreur complète ressemble à: '((bytes_arr [k + 2] << 8) & 0xFF00) | (bytes_arr [k + 3] & 0xFF) TypeError: type (s) d'opérande non pris en charge pour <<: 'str' et 'int' – BengBeng

+0

Cela signifie que 'bytes_arr [k + 2]' est une chaîne, pas un nombre . Vous devez trouver le code qui remplit 'bytes_arr' pour voir pourquoi cela est arrivé. – Barmar

Répondre

2

RPi utilisent parfois différentes versions de python que nous pensons essayer de l'exécuter comme sudo python3 mycode.py

+0

lol, ça marche il me montre python version 3.5.3 mais utilise 2.7.13 ... – BengBeng