Hallo,
Ich will eine kleine Rechnung mit Python durchführen und das Ergebnis als Textdatei speichern.
Bisher geht das einfach mit save("filename.txt", X) prima! (X ist hier das Ergebnis)
Nun wollte ich eine Abfrage des Speichernamen einbauen mittels raw_input(). Aber ich weiß nicht recht, wie ich den eingegebenen Namen mit dem save()-Befehl verbinde. Im Prinzip soll statt filename der eingegebene Name eingetragen werden, wobei die Dateiendung .txt bleiben soll.
Wie kann man das realisieren?
Danke für eure Antworten!
Oswin
Speichernamen eingeben
Code: Alles auswählen
filename=raw_input('gib einen Dateinamen ein (ohne txt): ')
save(filename + ".txt", X)
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Code: Alles auswählen
def custom_save(X, extension='.txt'):
fname = raw_input('Save as? ')
if not fname.endswith(extension):
fname += extension
save(fname, X)
Allerdings koenntest du mal erklaeren was ``save`` ist und wo es herkommt zu Python gehoert es jedenfalls nicht.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
`X` ist das Ergebnis seiner Rechnung, hat er gesagt. Diese Frage würde vermutlich nicht auftachen, wenn man als Namen statt dem `X` etwas eindeutigeres wählen würde - z.B. `result`.cofi hat geschrieben:Was auch immer dein ominoeses X sein soll ..
Was `save()` macht, finde ich für seine Frage relativ unerheblich. Vermutlich etwas wie:
Code: Alles auswählen
def save(filename, result):
with open(filename, 'w') as f:
f.write(str(result))
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Dass es das Ergebnis ist, sagt er ja, aber um das vernuenftig zu implementieren muesste man wissen, was das Ergebnis eigentlich ist. Ich hab aber das Gefuehl, dass das sowieso eng mit dem ebenfalls ominoesen ``save`` verknuepft istsnafu hat geschrieben:`X` ist das Ergebnis seiner Rechnung, hat er gesagt. Diese Frage würde vermutlich nicht auftachen, wenn man als Namen statt dem `X` etwas eindeutigeres wählen würde - z.B. `result`.cofi hat geschrieben:Was auch immer dein ominoeses X sein soll ..
Im Uebrigen ist das das voellig falsche Unterforum ...
Edit (Leonidas): Verschoben.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
Ja, gut. Ich bin jetzt von einem simplen Ergebnis ausgegangen, wo es ein einzelner numerischer Wert ist. Kann natürlich auch - je nach Rechnung - ein strukturiertes Objekt sein (Tuple, Dict, ...)
Ja hallo alle,
Danke für eure Antworten!
Keine Ahnung wo die Funktion "save" hingehört. Aber es funktioniert!
Ich habs so hingekriegt
----------------------------------------------------
G = ones((3,3))
Blabla= raw_input("Bitte Name eingeben")
filename = '%(#)s.txt' % {"#":Blabla }
save(filename,G)
----------------------------------------------------
Danke!
Oswin
Danke für eure Antworten!
Keine Ahnung wo die Funktion "save" hingehört. Aber es funktioniert!
Ich habs so hingekriegt
----------------------------------------------------
G = ones((3,3))
Blabla= raw_input("Bitte Name eingeben")
filename = '%(#)s.txt' % {"#":Blabla }
save(filename,G)
----------------------------------------------------
Danke!
Oswin
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Das hab ich auch erst vermutet, allerdings speichert ``%save`` Zeilen und keine Ergebnisse und der letzte Post des OP schliesst das ganze auch aus
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
Tja, wenn man auf solche *-Import verzichtet, wüsste man das. Das ist eigentlich genau das, was ich in Sprachen wie C so hasse: Man weiß oft nicht auf Anhieb, zu welcher Bibliothek etwas gehört. Besonders beim Lesen von fremden Quelltext finde ich das anstrengend.oswin hat geschrieben:nagut ich hab "from pylab import*" benutzt
Kann sein das es daher kommmt.