Einige unkonventionelle Situation hier vor sich geht.
os.path.isfile()
wird True
für reguläre Dateien zurückkehren, für Gerätedateien wird diese False
sein.
Aber wie für os.path.exists()
, heißt es -Dokumentation über das False
zurückgeführt werden kann, wenn „die Erlaubnis nicht erteilt ist os.stat()
auszuführen“. Zu Ihrer Information die Umsetzung der os.path.exists
ist:
def exists(path):
"""Test whether a path exists. Returns False for broken symbolic links"""
try:
os.stat(path)
except OSError:
return False
return True
Also, wenn os.stat
dir versagt ich sehe nicht, wie ls
gelang es haben könnte (ls
AFAIK auch nennt stat() syscall). Also, überprüfen, was os.stat('/dev/bsd0')
erzieht zu verstehen, warum Sie nicht der Lage, die Existenz dieser speziellen Gerätedatei zu erkennen, mit os.path.exists
, weil mit os.path.exists()
soll eine gültige Methode, um für die Existenz eines Blocks zu überprüfen Gerätedatei.
Versuchen Sie 'os.path.isabs'? –