Hello Leute bin sehr neu auf dem Python gebiet und möchte nun ein Programm schreiben das schau ob in einem Ordner eine Datei vorhanden ist z.b. "test.txt". Wenn sie vorhanden ist soll diese gelöscht werden und wenn nicht einfach weitergemacht werden!
bitte um Hilfestellung, vielleicht mit Code
danke mfg Christoph
Datei suchen, wenn vorhanden dann löschen
Code: Alles auswählen
#!/usr/bin/env python
import os
import sys
try:
os.remove(sys.argv[1])
except OSError, e:
print e
Code: Alles auswählen
#!/usr/bin/env python
import os
os.remove("test.txt")
Oder du machst es so:
Code: Alles auswählen
import os
datei = 'test.dat'
if os.path.isfile(datei): # falls Dabei existiert
os.remove(datei)
so hab dasd jetzt probiert aber es geht nicht, hab das stehen
jedoch schreit er mir bei der funktion die danach ist, die diese datei neu erstellen sollte, das sie bereits vorhanden ist?????
bitte um hilfe!
Code: Alles auswählen
datei= "C:\\TIN_Temp"
if os.path.isfile(datei): # falls Dabei existiert
os.remove(datei)
bitte um hilfe!
hab ich gemacht, aber es schreibt es nicht hin????
aber wenn ich es ausführen kommt das im idle:
Failed to execute. Parameters are not valid.
Output TIN: Dataset C:\TIN_Temp already exists
Failed to execute (CreateTin).
also muss die datei da sein! aber bei der if findet er es nicht!!
aber wenn ich es ausführen kommt das im idle:
Failed to execute. Parameters are not valid.
Output TIN: Dataset C:\TIN_Temp already exists
Failed to execute (CreateTin).
also muss die datei da sein! aber bei der if findet er es nicht!!
- Windtommyhoff
- User
- Beiträge: 32
- Registriert: Donnerstag 15. März 2007, 13:01
- Kontaktdaten:
Ich bin mir nicht 100%ig sicher. Aber ich glaube dass python nicht backspace (\) sondern space (/) zur trennung benutzt.
Wenn du also c:/TIN_temp schreibst, könnte es vielleicht klappen..
Aber iwe gesagt, alle Angaben ohen Gewehr.. *peng*
Wenn du also c:/TIN_temp schreibst, könnte es vielleicht klappen..
Aber iwe gesagt, alle Angaben ohen Gewehr.. *peng*
scheisse ja ist zwar ein file für ein programm aber in real ist es ein ordner!! gut und wie geht das dann für ordner???
und bei dem 2. file handelt es sich um ein file in einer daten bank
und bei dem 2. file handelt es sich um ein file in einer daten bank
Code: Alles auswählen
if os.path.isfile("Database Connections\\TAP.sde\\DHM.Test_3D\\DHM.Route_Dissolve.shp"): # falls Dabei existiert
os.remove("Database Connections\\TAP.sde\\DHM.Test_3D\\DHM.Route_Dissolve.shp")
Zuletzt geändert von mazdafox am Mittwoch 20. Juni 2007, 10:48, insgesamt 1-mal geändert.
mal als allgemeiner Tipp:
Öffne mal die python shell und mache ein "import os"
Mit "dir(os)" kannst du dir alle methoden und attribute anzeigen lassen.
Da findest du dann so schöne Sachen wie mkdir, isdir und rmdir
Edit: Ok, isdir ist unter os.path.isdir versteckt Sorry
Öffne mal die python shell und mache ein "import os"
Mit "dir(os)" kannst du dir alle methoden und attribute anzeigen lassen.
Da findest du dann so schöne Sachen wie mkdir, isdir und rmdir
Edit: Ok, isdir ist unter os.path.isdir versteckt Sorry
Zuletzt geändert von Zap am Mittwoch 20. Juni 2007, 10:53, insgesamt 1-mal geändert.
ja das problem hab ich jetzt uach mit der datenbank wie darüber beschrieben!
und er schreibt mir bei
directory is not empty!
und läst sie mih nicht löschen!
und er schreibt mir bei
Code: Alles auswählen
if os.path.isdir("C:\\tin_temp"):os.rmdirs("C:\\tin_temp")
und läst sie mih nicht löschen!
Ein solcher Aufruf kann nur funktionieren wenn die Datei unter deinem Current Work Directory ( os.getcwd() ) liegt.mazdafox hat geschrieben:Code: Alles auswählen
if os.path.isfile("Database Connections\\TAP.sde\\DHM.Test_3D\\DHM.Route_Dissolve.shp"): # falls Dabei existiert os.remove("Database Connections\\TAP.sde\\DHM.Test_3D\\DHM.Route_Dissolve.shp")
Wenn das auch im Tempverzeichnis "c:/TIN_Temp" liegt muss du das auch absolut angeben werden.
Du machst gar nichts. Wenn sie vorhanden ist, wird sie gelöscht. Wenn sie nicht vorhanden ist, dann wird sie vollautomatisch nicht gelöscht. Genauso wie Kaffee, der nicht in meiner Tasse ist auch automatisch nicht daraus getrunken wird, weil er einfach nicht da ist, selbst wenn ich versuche zu trinken.mazdafox hat geschrieben:ok danke ich weiß ich nerve aber was mache ich wenn die datei nicht vorhanden ist? weil ich möchte ja sie löschen nur wenn sie vorhanden ist!!
danke
Das erste Beispiel mit try und except war nahezu perfekt. Im except-Block hätte ich allerdings nur pass geschrieben, da Du ja wolltest, dass einfach weitergemacht wird.
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
Mal so als kurzer Vorschlag, ohne Netz und doppelten Boden.
Code: Alles auswählen
import os
directory = "c:/mein Directory"
for f in os.listdir(directory):
os.remove(f)
os.rmdir(directory)
ja nur das er mir bei der variante das tin_temp ordner nicht löscht sonder nur LOL ausgibt!!!! obwohl der order vorhanden ist
Code: Alles auswählen
try:
os.rmdir("C:\\tin_temp")
except:
print ("LOL")