2017-11-26 1 views
-1

Hallo, ich fand diesen Code im Internet zu erkennen i2c Adresse in Python auf Raspberry Pi 3, funktioniert es gut das Ergebnis im bekommen ist: 10: 10 11 aber ich möchte jedes Ergebnis speichern eine andere Variable zum Beispiel x = 10 y = 11, die ersten 10 sind egal, keine Idee? Ich freue mich über Ihre Antwort!So speichern Sie eine i2c-Adresse in Python

#!/usr/bin/python3 

import os 
import subprocess 
import re 

p = subprocess.Popen(['i2cdetect', '-y','1'],stdout=subprocess.PIPE,) 

for i in range(0,9): 
    line = str(p.stdout.readline()) 

    for match in re.finditer("[0-9][0-9]:.*[0-9][0-9]", line): 
    print (match.group()) 
+0

Sie können ein Wörterbuch verwenden konvertieren, wenn Sie sicher sind, diese Werte werden die gleichen sein. – user1767754

+0

besser verwenden Wörterbuch - wie 'Ergebnisse [" x "] = 10',' Ergebnisse ["y"] = 11' oder behalten Sie auf der Liste 'results = [10, 11]'. Was ist das Problem ? Weißt du nicht, wie man Text in Worte "teilt" und Wörter in "int()" Zahlen umwandelt? – furas

+1

Sie sollten auf jeden Fall die volle Ausgabe von i2cdetect verwenden, damit die Leute Ihnen bessere Vorschläge geben können. – user1767754

Antwort

0

Es scheint, dass Sie nicht wissen, wie Text in Worte zu spalten und zu Zahlen

text = "10: 10 11" 

words = text.split(" ") # ["10:", "10", "11"] 
x = int(words[1]) 
y = int(words[2]) 

print(x, y) 

# 10 11 
+0

Dank ich bin neu in Python Ich bin dankbar für Ihre Antwort, funktioniert gut –

Verwandte Themen