[python] Jak se typicky zjistuje, jestli soubor existuje?
Jan Martinek
honza na dp.fce.vutbr.cz
Středa Srpen 1 16:48:53 CEST 2007
Ahoj
jestliže soubor existuje, tak za zlomek sekundy už to nemusí být pravda.
Ve většině případů se proto existence souboru nezjišťuje, ale prostě se
zkusí nějaká operace a když vyhodí výjimku, něco se nepovedlo.
Pro inspiraci se podívej, jak je implementovaná funkce os.path.exists()
def exists(path):
"""Test whether a path exists. Returns False for broken symbolic
links"""
try:
st = os.stat(path)
except os.error:
return False
return True
Podobně například os.path.isfile():
def isfile(path):
"""Test whether a path is a regular file"""
try:
st = os.stat(path)
except os.error:
return False
return stat.S_ISREG(st.st_mode)
Je vidět, že obě funkce volají os.stat(). Zdroják k os.access teď nějak
nemůžu najít.
--
Jan Martinek
Ondrej Beran wrote:
> Ahoj vsichni,
>
> nalezl jsem nekolik zpusobu, jak se da zjistit, zda soubor existuje:
>
> os.stat()
> os.access()
> os.path.exists()
> os.path.isfile()
>
> Co se nejcasteji pouziva? Nejjednodussi mi prijde isfile(), ale zrejme
> nejspravnejsi bude access().
>
> Nebo se mylim?
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
Další informace o konferenci Python