Portál AbcLinuxu, 2. listopadu 2025 10:08
Řešení dotazu:
os a sys.
os.access(). Projití všech souborů na zadané cestě pak přes os.walk().
Kód by tedy mohl vypadat například takhle:
#! /usr/bin/env python
# -*- coding: utf-8 -*-
#
# Interpreter version: python 2.7
#
# Imports =====================================================================
import os
# Functions & classes =========================================================
def check_permissions(dir_path, permissions=(os.R_OK or os.W_OK or os.X_OK)):
for root, dirs, files in os.walk(dir_path):
paths = (os.path.join(root, name) for name in dirs + files)
for path in paths:
if not os.access(path, permissions):
raise IOError("Path `%s` is not accessible!" % path)
# Main program ================================================================
if __name__ == '__main__':
check_permissions(".", (os.R_OK or os.W_OK))
Jak už ale naznačovali předřečníci, tenhle přístup není úplně ideální. Co ti brání tam prostě zkusit zapsat a řešit problémy teprve ve chvíli, kdy je budeš mít? Práva se můžou kdykoliv změnit a v praxi bys tak tuhle funkci musel volat úplně pokaždé, když chceš něco udělat.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.