確定一個類型的文件(普通文件,目錄,符號鏈接等),我想一個簡單的方法來確定一個類型的路徑,所以我用Google搜索了很多,然後我寫了這個:簡單的方法通過路徑蟒蛇
from stat import S_ISREG, S_ISDIR, S_ISLNK
from os import stat, lstat
from os.path import isfile, islink, isdir, lexists, exists
from enum import Enum, auto
class FileTypes(Enum):
FILE = auto()
LINK_TO_FILE = auto()
DIR = auto()
LINK_TO_DIR = auto()
BROKEN_LINK = auto()
NO_SUCH = auto()
UNDEFINED = auto()
def file_type(filename):
if lexists(filename):
if isfile(filename):
if islink(filename):
return FileTypes.LINK_TO_FILE
else:
return FileTypes.FILE
else:
if isdir(filename):
if islink(filename):
return FileTypes.LINK_TO_DIR
else:
return FileTypes.DIR
else:
if islink(filename):
return FileTypes.BROKEN_LINK
else:
return FileTypes.UNDEFINED
else:
return FileTypes.NO_SUCH
然後,我用Google搜索更寫了這樣:
兩個函數做我想做的,但看起來有點醜,我覺得我失去了一些很酷的Python的lib一個簡單的解決方案躲藏。
問題是:有沒有更好的方法來做到這一點?