HTML Datei erstellen mit einem eingegebenen Namen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Horst
User
Beiträge: 37
Registriert: Mittwoch 14. April 2010, 17:55

Hallo zusammen,
Ich habe folgendes Problem. Ich möchte eine html Datei ertellen und den Namen der Datei während ich das Programm ausführe eingeben.
Kann mir jemand sagen, wie ich das mit dem Dateinamen hinkriege?

Die Tatei erstelle ich wie folgt:
[python]
outfile=open("D:/file.html","w")
outfile.write("Hello World!")
outfile.close()
[/python]

Danke schonmal für eure Hilfe.
Grüße Horst
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Code: Alles auswählen

name = raw_input("Bitte den Dateinamen eingeben: ")
und ab python3.x:

Code: Alles auswählen

name = input("Bitte den Dateinamen eingeben: ")
Es gibt auch noch schönere Wege (ein gutes comand line interface, ein gutes GUI) ...

HTH
Christian
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Oh, und bzgl. des Verzeichnisses:

Code: Alles auswählen

import os
path = os.path.join('D:', name)
Horst
User
Beiträge: 37
Registriert: Mittwoch 14. April 2010, 17:55

Danek schon mal für die schnellen Antworten!
Bei mir siehts jetzt so aus.

name = raw_input ('Dateiname: ')
outfile=open(name,"w")
outfile.write("Hello World!")
outfile.close()

Ich versteh nur noch nicht, wie ich den Speicherort bzw das Verzeichnis eingeben kann, in dem die Datei abgelegt werden soll.
Was meinst du damit:

import os
path = os.path.join('D:', name)
problembär

Horst hat geschrieben:Ich versteh nur noch nicht, wie ich den Speicherort bzw das Verzeichnis eingeben kann, in dem die Datei abgelegt werden soll.
Wenn Du "C:\\Windows\\System\\myhtml.html" eingibst, wird es dahin geschrieben.
Gibst Du nur "myhtml.html" ein, wird es ins Arbeitsverzeichnis (os.getcwd()) geschrieben.
Kommt eben drauf an, wo Du's gern hinhaben möchtest.

Code: Alles auswählen

pydoc os
und

Code: Alles auswählen

pydoc os.path
sind Deine Freunde.
Horst
User
Beiträge: 37
Registriert: Mittwoch 14. April 2010, 17:55

Okay. Danke schonmal. Damit werd ichs morgen nochmal versuchen.
Ein schönes Wochenende noch!
Teabag
User
Beiträge: 81
Registriert: Sonntag 13. Mai 2007, 20:44

name = raw_input ('Dateiname: ')
outfile=open("C:/" + name + ".html","w")
outfile.write("Hello World!")
outfile.close()
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

@Teabag: Du demonstrierst da Code, wie man es nicht machen sollte. Keine Eingabeüberprüfung, Pfade manuell zusammengesetzt und dann auch noch keine Ausnahmebehandlung.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Vielleicht sollte man hier einmal die Existenz von Template-Engines erwähnen :-) Man weiß ja nicht genau, was und wie der OP den Inhalt generieren will.

Z.B. jinja2
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten