Datei in Unterverzeichn. kopieren, das noch nicht existiert?

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
wdsl
User
Beiträge: 35
Registriert: Donnerstag 22. Februar 2007, 16:26

Hallo,
wie kann man denn eine Datei in ein Unterverzeichnis kopieren, das noch nicht existiert?

Code: Alles auswählen

shutil.copy(datei, "./folder/datei")
folder existiert noch nicht und ich bekomme eine Fehlermeldung. Die Docu sagt copytree würde dies machen, aber damit kann man nur Ordner kopieren.

Muss ich mir da jetzt echt was selber schreiben? Ich meine die Funktionalität wäre in Python ja schon vorhanden, ich versteh nicht warum die zwischen Dateien und Ordnern unterscheiden. Afaik werden doch unter posix Ordner und Dateien gleich behandelt.

Danke euch für eure Ratschläge.

mfg
wdsl
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Nee, du musst ein Verzeichnis schon anlegen, bevor du etwas reinkopieren kannst. Du hast höchstens die Möglichkeit deine Dateien samt dem Verzeichnis, in dem sie liegen, zu kopieren. Dann wird beim Ziel natürlich dein Verzeichnis erstellt und die Dateien dort abgelegt. Das mit der Unterscheidung hast du wohl etwas missverstanden. Vielleicht ja, weil keine Datei mit dem selben Namen angelegt werden darf, wie ein bereits existentes Verzeichnis. Also du kannst nicht `foo` als Verzeichnis haben und dann eine Datei `foo` anlegen.
sasmus
User
Beiträge: 3
Registriert: Mittwoch 21. Oktober 2009, 19:55
Wohnort: Region Hannover

also bei mir geht das problemlos.

versuch mal:

Code: Alles auswählen

shutil.copy(datei,'./folder/')
ich glaube es liegt am fehlenden slash ganz hinten. Gibst Du keinen expliziten Dateinamen für das Ziel an wird derselbe Name verwendet wie von der Ursprungsdatei, die Du kopieren willst.

Ordner vorher anlegen mit

Code: Alles auswählen

os.mkdir('./folder/')
Antworten