def CreateDirectory(pathName):
if not os.access(pathName, os.F_OK):
os.makedirs(pathName)
so:Python - sự khác biệt giữa os.access và os.path.exists?
def CreateDirectory(pathName):
if not os.path.exists(pathName):
os.makedirs(pathName)
Tôi hiểu rằng os.access là một chút linh hoạt hơn vì bạn có thể kiểm tra RWE thuộc tính cũng như con đường tồn tại, nhưng có một số khác biệt tinh tế tôi đang mất tích ở đây giữa hai triển khai này?
Nếu các tài liệu được tin tưởng, nó thậm chí còn tinh tế hơn những gì các câu trả lời nói. Chế độ 'os.F_OK' là đặc biệt để kiểm tra sự tồn tại, không cho phép; trong khi đối với 'os.path.exists()': "Trên một số nền tảng, hàm này có thể trả về False nếu quyền không được cấp để thực thi os.stat() trên tệp được yêu cầu, ngay cả khi đường dẫn vật lý tồn tại." [Trang người dùng FreeBSD] (http://www.freebsd.org/cgi/man.cgi?query=access&sektion=2) nói 'quyền truy cập' rẻ hơn 'stat' để kiểm tra sự tồn tại. –