Lecture tableau
Résolu
heh
-
heh -
heh -
Bonjour,
je débute en informatique et j'avais besoin de votre aide.
Je réalise l'automatisation d'oscilloscope et en fonction de chacun d'entre eux une référence va m'être transmise par l'oscilloscope.
Il y a une fonction que je rentre qui est la suivante:
et voila ce qu'elle renvoie:
('USB0::0x0699::0x03A4::C040158::INSTR', 'USB::0x0699::0x03A4::C040158::INSTR')
Et pour résoudre mon probleme j'aimerais pouvoir récupérer les élément entre " ' ". Pour pouvoir le faire passer en "parametre". Car dans la ligne juste apres dans le code je vais avoir besoin de l'utiliser. je devrais faire ça:
Or dans le cas actuel j'ai moi même récris 'USB0::0x0699::0x03A4::C040158::INSTR' dans le code et cela n'est donc pas utilisable avec d'autres oscilloscope je vais etre obligé de modifier mon code à chaque fois.
Avez vous une solution de code? Comment je peux crée un tableau ou autre? Merci a vous
je débute en informatique et j'avais besoin de votre aide.
Je réalise l'automatisation d'oscilloscope et en fonction de chacun d'entre eux une référence va m'être transmise par l'oscilloscope.
Il y a une fonction que je rentre qui est la suivante:
rm.list_resources()
et voila ce qu'elle renvoie:
('USB0::0x0699::0x03A4::C040158::INSTR', 'USB::0x0699::0x03A4::C040158::INSTR')
Et pour résoudre mon probleme j'aimerais pouvoir récupérer les élément entre " ' ". Pour pouvoir le faire passer en "parametre". Car dans la ligne juste apres dans le code je vais avoir besoin de l'utiliser. je devrais faire ça:
scope = rm.open_resource('USB0::0x0699::0x03A4::C040158::INSTR')
Or dans le cas actuel j'ai moi même récris 'USB0::0x0699::0x03A4::C040158::INSTR' dans le code et cela n'est donc pas utilisable avec d'autres oscilloscope je vais etre obligé de modifier mon code à chaque fois.
Avez vous une solution de code? Comment je peux crée un tableau ou autre? Merci a vous
Configuration: Windows / Edge 91.0.864.41
6 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
quel est le type de l'objet retourné par la fonction?print(type(rm.list_resources()))
à tout hasard:laliste=rm.list_resources() for each unelement in laliste: scope = rm.open_resource(unelement) -
c'est une chaine de caractère.
Lorsque j'essaye votre partie de code cela m'indique:
for each unelement in laliste:
^
SyntaxError: invalid syntax -
Oui oui,
voici le code entrée:import pyvisa
import time
rm = pyvisa.ResourceManager()
print(type(rm.list_resources()))
laliste = rm.list_resources()
for unelement in laliste:
scope = rm.open_resource(unelement)
et voila ce que cela me retourne:
<class 'tuple'>
Je ne comprends pas trop... -
ahh si je comprends merci beaucoup, en fait il me faudrait également récupérer les " ' " autour de USB0::0x0699::0x03A4::C040158::INSTR sinon je ne peux pas envoyer la commande, comment puis-je faire?
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Parce que vous savez de base quand je le copiais directement j'écrivait:
scope = rm.open_resource('USB0::0x0699::0x03A4::C040158::INSTR')
donc avec les " ' ".
Or losque par exemple je print(unelement) on me renvoir:
USB0::0x0699::0x03A4::C040158::INSTR sans les " ' ".
Mais pour pouvoir l'utiliser il me veut les " ' " pour envoyer la commande plus tard sinon ça ne fonctionne pas. -
Je ne comprends pas, ce que vous m'avais donner me donne bien ce que je veux mais voila ce qu'il se passe.
voici le code entré:import pyvisa
import time
rm = pyvisa.ResourceManager()
print(type(rm.list_resources()))
laliste = rm.list_resources()
for unelement in laliste:
print(unelement)
scope = "'" + rm.open_resource(unelement) + "'"
print(scope)
print(scope.query('*IDN?'))
et voila le message d'erreur:
<class 'tuple'>
USB0::0x0699::0x03A4::C040158::INSTR
Traceback (most recent call last):
File "C:\Users\stagiaire\Desktop\Stage_El_harrani\oscilloscope\script python py\testforum.py", line 11, in <module>
scope = "'" + rm.open_resource(unelement) + "'"
TypeError: can only concatenate str (not "USBInstrument") to str