hallo,
frage:
ich habe einen ordner, in dem .txt dateien gespeichert sind.
python soll nur den ordner durchsuchen und wenn es .txt dateien finden dann sollen diese in einen neuen ordner mit dem namen "dokumete txt" verschoben werden, den python auch erstellt hat.
bin erst seit ca. einer woche im club python,
also bitte eine antwort das sie auch ein newbie versteht.
danke
flo
Dateien verschieben?
-
- User
- Beiträge: 7
- Registriert: Montag 23. Januar 2006, 19:56
danke für die antwort,
"aber das ist nur die halbe miete":
ich will ja das NUR dateien in deren name .txt vorkommt verschieben.
z.b.:
ein ordner mit verschiedenen dateien(jpg, mp3, txt usw.).
python soll nun den ordner mit den verschiedenen dateien durchsuchen und NUR die dateien wo .txt im Dateinamen vorkommt in einen neuen ordner verschieben.
bitte um rat
gruß
flo
"aber das ist nur die halbe miete":
ich will ja das NUR dateien in deren name .txt vorkommt verschieben.
z.b.:
ein ordner mit verschiedenen dateien(jpg, mp3, txt usw.).
python soll nun den ordner mit den verschiedenen dateien durchsuchen und NUR die dateien wo .txt im Dateinamen vorkommt in einen neuen ordner verschieben.
bitte um rat
gruß
flo
-
- User
- Beiträge: 7
- Registriert: Montag 23. Januar 2006, 19:56
komme nicht weiter bin echt am verzweifeln,
bin anfänger und deswegen verstehe ich das mit den zwei "module kombinieren" noch nicht ,
aber ich habs mal versucht siehe beispiel
wie schaffe ich es jetzt die datei wo .txt im namen vorkommt zu verschieben?
bitte um hilfe
flo
bin anfänger und deswegen verstehe ich das mit den zwei "module kombinieren" noch nicht ,
aber ich habs mal versucht siehe beispiel

wie schaffe ich es jetzt die datei wo .txt im namen vorkommt zu verschieben?
Code: Alles auswählen
from fnmatch import*
from os import*
from findertools import*
a=listdir("D:\\1") #listet den ordner mit den verschidenen dateien.
b=fnmatch("%s" % (a), "*.txt*") #wenn in "a" .txt vorkommt kommt True
if b==True:
move(?????, ordner2)
flo
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Code: Alles auswählen
from fnmatch import fnmatch
import os
from findertools import*
filelist = listdir('/home/myfolder')
for fn in filelist:
b = fnmatch(fn, '*.txt') #wenn in "a" .txt vorkommt kommt True
if b:
move(fn, '/home/textfiles')
TUFKAB – the user formerly known as blackbird
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi!
Ich verwende zum Auflisten von Dateien eines Ordners auch gerne *glob*.
Das sieht dann so aus:
mfg
Gerold

Ich verwende zum Auflisten von Dateien eines Ordners auch gerne *glob*.
Das sieht dann so aus:
Code: Alles auswählen
from glob import glob
for filenames in glob("/home/gerold/*.txt"):
print filenames
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
-
- User
- Beiträge: 7
- Registriert: Montag 23. Januar 2006, 19:56
vielen dank für eure antworten:
natürlich sind beide möglichkeiten gut,
aber der code von >gerold ist für mich leichter zu verstehen und auch kürzer.
aber nochmal danke für eure unterstützung
gruß
flo
natürlich sind beide möglichkeiten gut,
aber der code von >gerold ist für mich leichter zu verstehen und auch kürzer.
aber nochmal danke für eure unterstützung
gruß
flo
-
- User
- Beiträge: 670
- Registriert: Sonntag 15. Januar 2006, 18:42
- Wohnort: Celle
- Kontaktdaten:
Wobei Du aber bedenken musst dass glob() nicht überall das macht was Du willst... Siehe hierzu die Beschreibung von glob in der Python-Dokumentation.
fnmatch macht immer das was Du willst.
--- Heiko.
fnmatch macht immer das was Du willst.
--- Heiko.
-
- User
- Beiträge: 7
- Registriert: Montag 23. Januar 2006, 19:56
@modelnine
wie wurde dan fnmatch in meinem beispiel als code ausehen?
gruß
wie wurde dan fnmatch in meinem beispiel als code ausehen?
gruß
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi Heiko!modelnine hat geschrieben:Wobei Du aber bedenken musst dass glob() nicht überall das macht was Du willst...
Auf was spielst du an? Ich finde nichts negatives in der Doku. Man könnte evt. die Tatsache, dass auch kaputte Symlinks aufgelistet werden, als negativ bewerten. Aber wenn ich davon weiß, dann kann ich ja immer noch einen Fehler abfangen oder vorher prüfen ob die Datei auch wirklich existiert, bevor ich sie verschiebe.
http://python.org/doc/2.4.2/lib/module-glob.html
Ein mögliches Einsatzszenario für "glob": Mit "glob" ist es ziemlich einfach, Logfiles in Benutzerordnern aufzulisten um diese danach auswerten zu können.
Code: Alles auswählen
logfiles = glob.glob("/home/*/log/*.log")
if logfiles:
for logfilename in logfiles:
if os.path.isfile(logfilename):
f = file(logfilename, "rU")
for linenumber, line in enumerate(f):
if line:
if line.upper().find("ERROR") > -1:
print "ERROR in file '%s' in line %s:" % (logfilename, linenumber + 1)
...
else:
print "no logfiles found"

lg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.