Datei suchen, wenn vorhanden dann löschen

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.
mazdafox
User
Beiträge: 13
Registriert: Mittwoch 20. Juni 2007, 08:32

Datei suchen, wenn vorhanden dann löschen

Beitragvon mazdafox » Mittwoch 20. Juni 2007, 08:35

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
Benutzeravatar
lutz.horn
User
Beiträge: 205
Registriert: Dienstag 8. November 2005, 12:57
Wohnort: Pforzheim

Beitragvon lutz.horn » Mittwoch 20. Juni 2007, 08:54

Code: Alles auswählen

#!/usr/bin/env python

import os
import sys

try:
  os.remove(sys.argv[1])
except OSError, e:
  print e


Siehe auch http://docs.python.org/lib/os-file-dir.html
mazdafox
User
Beiträge: 13
Registriert: Mittwoch 20. Juni 2007, 08:32

Beitragvon mazdafox » Mittwoch 20. Juni 2007, 09:00

und wie kann ich geziehlt überprüfen das die datei test.txt vorhandne ist und die dann löschen?
Benutzeravatar
lutz.horn
User
Beiträge: 205
Registriert: Dienstag 8. November 2005, 12:57
Wohnort: Pforzheim

Beitragvon lutz.horn » Mittwoch 20. Juni 2007, 09:03

Code: Alles auswählen

#!/usr/bin/env python

import os

os.remove("test.txt")


Wenn die zu löschende Datei nicht vorhanden ist, wirft os.remove() einen OSError.
mazdafox
User
Beiträge: 13
Registriert: Mittwoch 20. Juni 2007, 08:32

Beitragvon mazdafox » Mittwoch 20. Juni 2007, 09:08

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
Zizibee
User
Beiträge: 166
Registriert: Donnerstag 12. April 2007, 08:36

Beitragvon Zizibee » Mittwoch 20. Juni 2007, 09:08

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)
mazdafox
User
Beiträge: 13
Registriert: Mittwoch 20. Juni 2007, 08:32

Beitragvon mazdafox » Mittwoch 20. Juni 2007, 09:13

ok super danke!! hat mir sehr geholfen
mazdafox
User
Beiträge: 13
Registriert: Mittwoch 20. Juni 2007, 08:32

Beitragvon mazdafox » Mittwoch 20. Juni 2007, 10:02

so hab dasd jetzt probiert aber es geht nicht, hab das stehen

Code: Alles auswählen

datei= "C:\\TIN_Temp"
if os.path.isfile(datei):    # falls Dabei existiert
    os.remove(datei)


jedoch schreit er mir bei der funktion die danach ist, die diese datei neu erstellen sollte, das sie bereits vorhanden ist?????

bitte um hilfe!
fme
User
Beiträge: 34
Registriert: Sonntag 1. April 2007, 18:58
Wohnort: Bremen

Beitragvon fme » Mittwoch 20. Juni 2007, 10:14

Ist die Datei denn wirklich da?

Gib doch einfach mal im if Block einen Text wie "Datei vorhanden" aus.
mazdafox
User
Beiträge: 13
Registriert: Mittwoch 20. Juni 2007, 08:32

Beitragvon mazdafox » Mittwoch 20. Juni 2007, 10:18

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!!
Benutzeravatar
Windtommyhoff
User
Beiträge: 32
Registriert: Donnerstag 15. März 2007, 13:01
Kontaktdaten:

Beitragvon Windtommyhoff » Mittwoch 20. Juni 2007, 10:27

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.. :P *peng*
mazdafox
User
Beiträge: 13
Registriert: Mittwoch 20. Juni 2007, 08:32

Beitragvon mazdafox » Mittwoch 20. Juni 2007, 10:29

so habe jetzt auch beides probier

c:\\
c://
c:/

geht alles ned!!
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Beitragvon Zap » Mittwoch 20. Juni 2007, 10:42

Ist TIN_Temp zufällig ein Verzeichnis und wird deshalb nicht als file erkannt?
mazdafox
User
Beiträge: 13
Registriert: Mittwoch 20. Juni 2007, 08:32

Beitragvon mazdafox » Mittwoch 20. Juni 2007, 10:44

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

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.
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Beitragvon Zap » Mittwoch 20. Juni 2007, 10:47

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 ;)
Zuletzt geändert von Zap am Mittwoch 20. Juni 2007, 10:53, insgesamt 1-mal geändert.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder