Portál AbcLinuxu, 4. května 2025 22:57
Ř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.