Hallo liebes Python Forum
ich würde gerne einen input:
>>>>attribut = input ("Bitte Attribut eingeben: ")
in eine id umwandeln.
Mein Code:
attribut = input ("Bitte Attribut eingeben: ")
a= [ ]
a.append (attribut)
Code = id(a)
print(Code)
Jetzt die eigentliche fragen:Kann ich die ID wieder zurück wandeln in den eigentlichen Input wert ?
Ich würde mich über Lösungen sehr freuen.
Input in ID encode und decode
@sirus3
Eigentlich möchte ich folgendes tun.
Beispiel:
Ich möchte ein "Produkt" in folgende ID oder Kennung umwandeln : A12345 und in eine Datei speichern.
und sie durch Abfrage wieder zu entschlüsseln. Dabei sollte die Nummer von A1 beginnen usw. bis .....
----Eintragen-----
Bitte Attribut eingeben : Produkt
----Ausgabe-----
AttributID = A12345 (soll in eine Datei gespeichert werden die wie folgt sein sollte : Attribut:"Produkt"; AttributID:"A12345")
---Programm Abfrage-----
Bitte AttributID eingeben= A12345
AttributID: A12345 = Produkt
hoffe das ist Lösbar, wäre sehr dankbar darüber.
Eigentlich möchte ich folgendes tun.
Beispiel:
Ich möchte ein "Produkt" in folgende ID oder Kennung umwandeln : A12345 und in eine Datei speichern.
und sie durch Abfrage wieder zu entschlüsseln. Dabei sollte die Nummer von A1 beginnen usw. bis .....
----Eintragen-----
Bitte Attribut eingeben : Produkt
----Ausgabe-----
AttributID = A12345 (soll in eine Datei gespeichert werden die wie folgt sein sollte : Attribut:"Produkt"; AttributID:"A12345")
---Programm Abfrage-----
Bitte AttributID eingeben= A12345
AttributID: A12345 = Produkt
hoffe das ist Lösbar, wäre sehr dankbar darüber.
@anodes
Wenn ich dich richtig verstehe, möchtest du einfach IDs für eigne Zwecke generieren, ja? Sollen die eine bestimmte Form haben? Und wozu benötigst du IDs? Python hat dafür jedenfalls keine eingebaute Funktion ('id' ist für etwas anderes gedacht). Du musst dir so eine Funktionalität selbst bauen. In Einzelfällen kann man auch mal schauen, ob Hashes gehen; so allgemein würde ich das aber nicht empfehlen.
Wenn ich dich richtig verstehe, möchtest du einfach IDs für eigne Zwecke generieren, ja? Sollen die eine bestimmte Form haben? Und wozu benötigst du IDs? Python hat dafür jedenfalls keine eingebaute Funktion ('id' ist für etwas anderes gedacht). Du musst dir so eine Funktionalität selbst bauen. In Einzelfällen kann man auch mal schauen, ob Hashes gehen; so allgemein würde ich das aber nicht empfehlen.
Ja! Ich möchte dadurch eine Datenreduktion erwirken.nezzcarth hat geschrieben:@anodes
Wenn ich dich richtig verstehe, möchtest du einfach IDs für eigne Zwecke generieren, ja? Sollen die eine bestimmte Form haben? Und wozu benötigst du IDs? Python hat dafür jedenfalls keine eingebaute Funktion ('id' ist für etwas anderes gedacht). Du musst dir so eine Funktionalität selbst bauen. In Einzelfällen kann man auch mal schauen, ob Hashes gehen; so allgemein würde ich das aber nicht empfehlen.
Prinzipiell sollte die Form so aufgebaut sein:
Produkt = A1, Hersteller=A2 usw.
Jeden Wert den ich eingebe soll im Format :A1,... fortlaufend generiert werden und in eine Liste gespeichert werden. Und dann wieder abrufbar sein.
Also wie ein Dictionary. Produkt heißt übersetzt A1 nur das der Übersetzte Teil automatisch generiert wird.
- noisefloor
- User
- Beiträge: 3856
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
IMHO brauchst du dann eine Datenbank. In deren Entwurf musst du dann ein wenig Gehirnschmalz stecken und dir ggf. eine Funktion zum generieren des Primärschlüssels schreiben. Datenbanken könnten OOTB zwar Primärschlüssel automatisch hoch zählen, aber halt "nur" nummerisch. A12345 ist aber nicht nummerisch. Du könntest aber einen Composite Primary Key nutzen, den die DB automatisch aus dem Buchstaben und der Zahl zusammensetzt. Dann müsstest du dich beim Anlegen der Daten "nur" darum kümmern, dass der Buchstabe richtig gesetzt wird.
In wie weit du da eine Datenreduktion erreichen willst sehe ich nicht... Wenn jedem Produkt genau eine ID zugeordnet ist, dann hast du eine 1:1 Beziehung - da wird nichts reduziert.
Gruß, noisefloor
IMHO brauchst du dann eine Datenbank. In deren Entwurf musst du dann ein wenig Gehirnschmalz stecken und dir ggf. eine Funktion zum generieren des Primärschlüssels schreiben. Datenbanken könnten OOTB zwar Primärschlüssel automatisch hoch zählen, aber halt "nur" nummerisch. A12345 ist aber nicht nummerisch. Du könntest aber einen Composite Primary Key nutzen, den die DB automatisch aus dem Buchstaben und der Zahl zusammensetzt. Dann müsstest du dich beim Anlegen der Daten "nur" darum kümmern, dass der Buchstabe richtig gesetzt wird.
In wie weit du da eine Datenreduktion erreichen willst sehe ich nicht... Wenn jedem Produkt genau eine ID zugeordnet ist, dann hast du eine 1:1 Beziehung - da wird nichts reduziert.
Gruß, noisefloor
Hi Noisefloor,noisefloor hat geschrieben:Hallo,
IMHO brauchst du dann eine Datenbank. In deren Entwurf musst du dann ein wenig Gehirnschmalz stecken und dir ggf. eine Funktion zum generieren des Primärschlüssels schreiben. Datenbanken könnten OOTB zwar Primärschlüssel automatisch hoch zählen, aber halt "nur" nummerisch. A12345 ist aber nicht nummerisch. Du könntest aber einen Composite Primary Key nutzen, den die DB automatisch aus dem Buchstaben und der Zahl zusammensetzt. Dann müsstest du dich beim Anlegen der Daten "nur" darum kümmern, dass der Buchstabe richtig gesetzt wird.
In wie weit du da eine Datenreduktion erreichen willst sehe ich nicht... Wenn jedem Produkt genau eine ID zugeordnet ist, dann hast du eine 1:1 Beziehung - da wird nichts reduziert.
Gruß, noisefloor
vielen Dank für deine Empfehlung. Ich bin ein Python Newbee.
Könnte man ein Dictionary anlegen wo bei die Übersetzung dann eine Fortlaufende ID wäre.
Beispiel:
Input = Product
Übersetzung davon ist = 1
Wunsch Programm:
#Anlegen eines Attributes
Bitte Attribut eingeben= Product
(Product wird dann automatisch die 1 zugeteilt und das ganze in eine Datei geschrieben = Product;1
#Abrufen eines Attributes
Bitte Attribut eingeben = Product
AttributId ist = 1
(und umgekehrt)
Hast du da ein Skript Beispiel ??? Wäre dankbar für jede Hilfe.
- noisefloor
- User
- Beiträge: 3856
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
Das ist unterm Strich aber so aufwendig, dass du besser direkt eine Datenbank nimmst. Python hat SQLite an Bord, dass sollte für deine Zwecke vollkommen ausreichend. Die Nutzung von SQLite ist in der Pyhton-Doku erklärt.
Was ist eigentlich der Sinn des ganzen, also was willst du programmieren?
Gruß, noisefloor
Grundsätzlich ja. Wobei du dich selber um's Hochzählen kümmern musst, dass ist keine Standardfunktion von Dicts. Dicts speichern geht auch, über das pickle-Modul.Könnte man ein Dictionary anlegen wo bei die Übersetzung dann eine Fortlaufende ID wäre.
Das ist unterm Strich aber so aufwendig, dass du besser direkt eine Datenbank nimmst. Python hat SQLite an Bord, dass sollte für deine Zwecke vollkommen ausreichend. Die Nutzung von SQLite ist in der Pyhton-Doku erklärt.
Was ist eigentlich der Sinn des ganzen, also was willst du programmieren?
Gruß, noisefloor
Danke Noisefloor.noisefloor hat geschrieben:Hallo,
Grundsätzlich ja. Wobei du dich selber um's Hochzählen kümmern musst, dass ist keine Standardfunktion von Dicts. Dicts speichern geht auch, über das pickle-Modul.Könnte man ein Dictionary anlegen wo bei die Übersetzung dann eine Fortlaufende ID wäre.
Das ist unterm Strich aber so aufwendig, dass du besser direkt eine Datenbank nimmst. Python hat SQLite an Bord, dass sollte für deine Zwecke vollkommen ausreichend. Die Nutzung von SQLite ist in der Pyhton-Doku erklärt.
Was ist eigentlich der Sinn des ganzen, also was willst du programmieren?
Gruß, noisefloor
Der Sinn des ganzen ist es das ich für jedes Attribut einen eindeutigen Key generiere den ich später in "Snippets" einbinden kann.
so kann ich komplexe Daten einfacher in Snippets einbinden....
Ist etwas Complicated um das zu schreiben und komplex.
Irgend wie ne ander ComArt mit dir möglich?
Gruß Anodes
- noisefloor
- User
- Beiträge: 3856
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
das Problem ist ja nicht, ein Schlüssel-Werte Paar zu erzeugen, sondern einen _sinnvollen_ Schlüssel zu erzeugen und die ganze Datenstruktur nachher auch wieder _sinnvoll_ abfragen zu können. Da man bei Schlüssel-Werte Paaren in der Regel nach dem Schlüssel sucht, macht das hier IMHO nicht so viel Sinn. Das musst aber letztendlich du entscheiden, weil aktuell nur du weißt, was du wie wo am Ende abfragen willst.
Was sind "Snippets" und was meinst du mit "ComArt"?
Gruß, noisefloor
BTW: hör' mal bitte auf, meine vorherigen Post als Komplettzitat anzubauen. Das bringt so rein gar nichts - außer, dass deine Postings unübersichtlich werden.
das Problem ist ja nicht, ein Schlüssel-Werte Paar zu erzeugen, sondern einen _sinnvollen_ Schlüssel zu erzeugen und die ganze Datenstruktur nachher auch wieder _sinnvoll_ abfragen zu können. Da man bei Schlüssel-Werte Paaren in der Regel nach dem Schlüssel sucht, macht das hier IMHO nicht so viel Sinn. Das musst aber letztendlich du entscheiden, weil aktuell nur du weißt, was du wie wo am Ende abfragen willst.
Was sind "Snippets" und was meinst du mit "ComArt"?
Gruß, noisefloor
BTW: hör' mal bitte auf, meine vorherigen Post als Komplettzitat anzubauen. Das bringt so rein gar nichts - außer, dass deine Postings unübersichtlich werden.
- noisefloor
- User
- Beiträge: 3856
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
Gruß, noisefloor
Axo... Nein, ich leiste grundsätzlich keine Support per PN oder per IRC/E-Mail / was-auch-immer. Wenn via Forum, dann können andere Nutzer mit gleichen / ähnlichen Problemen von möglicherweise aufgezeigten Lösungswegen profitieren.mit ComArt meinte ich email oder Kontaktdatenaustausch damit ich es erklären kann.
Gruß, noisefloor
Sehe ich genau so. Außerdem können mehrere Helfende sich bei den Antworten ergänzen und man hat mitunter mehrere Meinungen oder Herangehensweisen. Zudem kommt man sich nicht wie ein unbezahlter Privatdozent vor, da aus einer PN, wenn man "anbeißt", gern auch eine ganze Menge PNs werden.noisefloor hat geschrieben:Nein, ich leiste grundsätzlich keine Support per PN oder per IRC/E-Mail / was-auch-immer. Wenn via Forum, dann können andere Nutzer mit gleichen / ähnlichen Problemen von möglicherweise aufgezeigten Lösungswegen profitieren.