home | area personale         schemi | tutorial | robotica | pic micro | recensioni         forum | chat irc         faq | contatti         store | Ordina PCB
username
password
cerca

 
FORUM: Informatica ed Elettronica
Dedicato all'informatica per l'elettronica. Un posto in cui scambiarsi consigli nell'utilizzo di applicazioni legate al nostro hobby o per condividere del software per applicazioni elettroniche. (PS: E' vietato inserire link a materiale "pirata")


python e kicad
     
Autore Messaggio opzioni
ax77





postato il:
05.07.2026, alle ore 00:05
python e kicad 

Buonasera a tutti.
Avrei bisogno di una mano da chi conosce un po' di python.
Ho bisogno di accedere ad alcuni campi nella netlist generata da kicad.
Il problema e' accedere ai campi di commento, che sono in totale 9, e non riesco ad accedere a quello che voglio io (in pratica riesco ad accedere solo al primo).
Qualcuno saprebbe aiutarmi?
Bacio le mani.

Allego parte del .xml e del .net, oltre a una parte di codice python, se puo' essere utile.

**********python (parte di codice che legge solo il parametro 'company')*****************

def getCompany(self):
"""Return the source string for the design"""
return self.design.get("company")

xml**************************

<?xml version="1.0" encoding="UTF-8"?>
<export version="E">
<design>
<source>/home/studio/Scrivania/SORGENTI/prova.sch</source>
<date>2026-07-04T23:42:19</date>
<tool>Eeschema 10.0.1-10.0.1~ubuntu24.04.1</tool>
<sheet number="1" name="/" tstamps="/">
<title_block>
<title>PROVA</title>
<company/>
<rev>0.1</rev>
<date/>
<source>prova1.sch</source>
<comment number="1" value="PROTOTIPO"/>
<comment number="2" value="0.1 PRIMO"/>
<comment number="3" value=""/>
<comment number="4" value=""/>
<comment number="5" value=""/>
<comment number="6" value=""/>
<comment number="7" value=""/>
<comment number="8" value=""/>
<comment number="9" value=""/>
</title_block>
</sheet>


net***********************

(export
(version "E")
(design
(source "/home/studio/Scrivania/SORGENTI/prova.sch")
(date "2026-07-04T23:43:45")
(tool "Eeschema 10.0.1-10.0.1~ubuntu24.04.1")
(sheet
(number "1")
(name "/")
(tstamps "/")
(title_block
(title "PROVA")
(company)
(rev "0.1")
(date)
(source "prova1.sch")
(comment
(number "1")
(value "PROTOTIPO")
)
(comment
(number "2")
(value "0.1 PRIMO")
)
(comment
(number "3")
(value "")
)
(comment
(number "4")
(value "")
)
(comment
(number "5")
(value "")
)
(comment
(number "6")
(value "")
)
(comment
(number "7")
(value "")
)
(comment
(number "8")
(value "")
)
(comment
(number "9")
(value "")
)
)
)



Il circuito ha sempre ragione

Il 555 sta all elettronica come arduino all informatica: entrambi loro malgrado.
ax77





postato il:
05.07.2026, alle ore 00:05
Le indentazioni sono andate a farsi benedire :-(


Il circuito ha sempre ragione

Il 555 sta all elettronica come arduino all informatica: entrambi loro malgrado.
ipervale





postato il:
05.07.2026, alle ore 17:24
'
ipervale





postato il:
05.07.2026, alle ore 17:26
Tra i 20/25 linguaggi di programmazione che più o meno conosco non annovero, per mia fortuna, il python.
Ho chiesto la risoluzione del problema al primo LLM che mi ha passato ddg e dopo qualche aggiustamento, sempre necessario vista la propensione di questi sistemi a sparare cazzate, mi ha proposto questo codice che ad occhio e croce potrebbe funzionare:


import xml.etree.ElementTree as ET
root = ET.parse("file.xml").getroot()
xpath = ".//sheet[@number='1']/title_block/comment[@number='9']/@value"
val = root.find(xpath).strip() if root.find(xpath) is not None else None
print(val)

ovviamente ignoro se la sintassi/procedura è corretta ma per chi mastica le basi di questo linguaggio non credo sia un problema apportare le giuste modifiche o prendere ispirazione da questo frammento di codice consultando se necessario la documentazione della libreria.

Valentino
ax77





postato il:
05.07.2026, alle ore 17:34
Valentino anzitutto ti ringrazio.
Provo a vedere cosa riesco a combinare, di python non ci capisco nulla (diciamo che leggo e provo a ragionare).
Posso dire che i linguaggi ad alto livello li gradisco poco, sono amante dell'assembly (si lo so sono da manicomio).



Il circuito ha sempre ragione

Il 555 sta all elettronica come arduino all informatica: entrambi loro malgrado.
ax77





postato il:
06.07.2026, alle ore 16:21
Valentino volevo ringraziare, ha funzionato (con qualche lievissima modifica).
Adoro sempre di piu' l'assembly.....



Il circuito ha sempre ragione

Il 555 sta all elettronica come arduino all informatica: entrambi loro malgrado.
segui questo thread con grixFC, per questa funzione devi aver installato il software grixFC

torna su
     

Come utente anonimo puoi leggere il contenuto di questo forum ma per aprire una discussione
o per partecipare ad una discussione esistente devi essere registrato ed accedere al sito




 







 
 
indietro | homepage | torna su copyright © 2004/2026 GRIX.IT - La community dell'elettronica Amatoriale