Seite 1 von 1

Datei in Unterverzeichn. kopieren, das noch nicht existiert?

Verfasst: Freitag 23. Oktober 2009, 20:33
von wdsl
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

Verfasst: Freitag 23. Oktober 2009, 20:48
von snafu
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.

Verfasst: Freitag 23. Oktober 2009, 22:43
von sasmus
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/')