Pages : 1
#1 Le 14/11/2008, à 22:24
- Dyocma
[Resolu] Besoin aide sur Python...
Bonsoir,
J'y connais rien en Python....
j'ai un Prog qui contient des imports...
et j'ai ce message suivant...
./ibuddy.py: line 1: import : commande introuvable
./ibuddy.py: line 2: import : commande introuvable
./ibuddy.py: line 5: class : commande introuvable
Bon, je regarde les imports, pour moi c'est normal... les librairies usb a bien etait installé...
je cherche un peu, et je decouvre qu'il faut ajouter un "sys.path.append" ... bien bien
Alors j'ai recherché time.pyc et usb.pyc, mais rien....
find /usr/lib -name 'usb.pyc' -print
find /usr/lib -name 'time.pyc' -print
Quelle commandes dois-je ajouter, ou le bon chemin ??
merci de votre aide.
Dernière modification par Dyocma (Le 14/11/2008, à 23:00)
Ubuntu 22.04 Lts
Hors ligne
#2 Le 14/11/2008, à 22:28
- Kanor
Re : [Resolu] Besoin aide sur Python...
Est ce que tu peux montre les ligne de 1 à 5 ?
Ce sera plus facile pour d'aider .
Hors ligne
#3 Le 14/11/2008, à 22:31
- Kanor
Re : [Resolu] Besoin aide sur Python...
Ok j'ai trouvé d'ou vient le prb lance le programme comme ça
python ibuddy.py
Ça devrais mieux marcher si tu veux faire ta méthode rajoute cette ligne au début du programme
#!/usr/bin/env python
Pour les autre voila le site du script
http://cuntography.com/blog/?p=17
Hors ligne
#4 Le 14/11/2008, à 22:42
- Dyocma
Re : [Resolu] Besoin aide sur Python...
Waouu... rapide comme reponse Kanor !
Oui voila le code
import usb
import time
class BuddyDevice:
SETUP = (0x22, 0x09, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00)
MESS = (0x55, 0x53, 0x42, 0x43, 0x00, 0x40, 0x02)
LEFT = 1
RIGHT = 1
finalMess = 0xFF
def __init__(self, battery):
try:
self.dev=UsbDevice(0x1130, 0x0001, battery)
self.dev.open()
self.dev.handle.reset()
except NoBuddyException, e:
raise NoBuddyException()
def setHeadColor(self, red, green, blue):
#knock bits out finalMess
re = red << 4
gr = green << 5
bl = blue << 6
tmp = re | gr | bl
self.finalMess = self.finalMess ^ tmp
def setHeart(self, status):
st = status << 7
self.finalMess = self.finalMess ^ st
def pumpMessage(self):
self.send(self.finalMess)
def resetMessage(self):
self.finalMess = 0xFF
def flick(self, direction):
di = 0
if (direction == self.RIGHT):
di = 2
elif(direction == self.LEFT):
di = 1
self.finalMess = self.finalMess ^ di
def send(self, inp):
self.dev.handle.controlMsg(0x21, 0x09, self.SETUP, 0x02, 0x01)
self.dev.handle.controlMsg(0x21, 0x09, self.MESS+(inp,), 0x02, 0x01)
class NoBuddyException(Exception): pass
class UsbDevice:
def __init__(self, vendor_id, product_id, skip):
busses = usb.busses()
self.handle = None
count = 0
for bus in busses:
devices = bus.devices
for dev in devices:
if dev.idVendor==vendor_id and dev.idProduct==product_id:
if count==skip:
print "vend :%s prod: %s" % (dev.idVendor, dev.idProduct)
self.dev = dev
self.conf = self.dev.configurations[0]
self.intf = self.conf.interfaces[0][0]
self.endpoints = []
for endpoint in self.intf.endpoints:
self.endpoints.append(endpoint)
print "endpoint"
return
else:
count=count+1
raise NoBuddyException()
def open(self):
if self.handle:
self.handle = None
self.handle = self.dev.open()
#self.handle.detachKernelDriver(0)
#self.handle.detachKernelDriver(1)
self.handle.setConfiguration(self.conf)
self.handle.claimInterface(self.intf)
self.handle.setAltInterface(self.intf)
print "Starting search..."
deviceList = []
for devices in range(10):
try:
deviceList.append(BuddyDevice(devices))
except NoBuddyException, e:
print "."
for de in deviceList:
while (1):
de.resetMessage()
de.pumpMessage()
time.sleep(0.1)
de.setHeadColor(0,0,1)
de.pumpMessage()
time.sleep(0.1)
Ah bah oui ca marche mieux avec python devant....
Comme un idiot je le lancer avec "./" !!!
Suis vraiment null en python..... merci Kanor..
Zut, j'ai pas fais attention, mais tu as mis le lien du script.
Dernière modification par Dyocma (Le 14/11/2008, à 22:44)
Ubuntu 22.04 Lts
Hors ligne