You are not logged in.

  • Login

1

Saturday, September 20th 2008, 10:34pm

Bezeichnet Pfad ein Verzeichnis?

Ich würde eine möglichs effektive, saubere Lösung suchen um festzustellen ob ein eintrag des Ergebnisses os.listdir() eine Datei oder ein Verzeichnis ist.

Die aktuelle Methode verwendet die Tatsache, dass ich keine Ausführbaren Dateien habe, Verzeichnisse somit die einzigen Dateien mit x-Flag sind. Das kann ich ja mit os.access() nachprüfen. Eine Möglichkeit wäre wohl noch die existenz von name + '/.' zu überprüfen, aber das kommt mir alles eher wie ein hack vor.

os.walk() hingegen ist mir eigentlich zu viel, ich brauche nur eine Ebene des Verzeichnissbaums.

2

Friday, June 19th 2009, 7:30pm

Re: filetype erkennen

Hallo,

os.path.isfile / os.path.isdir sollte die gewünschte information liefern.

zb:

Python Quellcode

1
2
3
4
5
6
7
8
9
10
import os
 
fnum=0
dnum=0
for entry in os.listdir('.'):
    if os.path.isdir(entry):
        dnum += 1
    elif os.path.isfile(entry):
        fnum += 1
print '*********** found %d files and %d directories' %(fnum, dnum)


falls du noch mehr details über einzelne einträge benötigst, hilft os.stat und das stat-modul weiter

zB

Python Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
import os
import stat
 
fnum=0
dnum=0
for entry in os.listdir('.'):
    mode = os.stat(entry)[stat.ST_MODE]
    if stat.S_ISDIR(mode):
        dnum += 1
    elif stat.S_ISREG(mode):
        fnum += 1
print '*********** found %d files and %d directories' %(fnum, dnum)

Social bookmarks