Cześć wszystkim
Napisałem na szybko skrypt wypisujący uprawnienia dostępu do plików w wylistowanym katalogu. Taki skrypt potrzebny mi jest do większego projektu, który udostępnia funkcję listowania katalogu i chciałbym żeby to listowanie było podobne do tego co jest w systemach typu UNIX, nie chcę na sucho tylko wypisywać plików.
Oto mój skrypt realizujący to co opisałem powyżej:
#!/usr/bin/python3
import os
def get_octal_permissions():
files_permissions = []
files = os.listdir('.')
for f in files:
file_permission = oct(os.stat(f).st_mode)[-3:]
files_permissions.append(file_permission)
return files_permissions
def get_symbolic_permissions(files_permissions):
access_dict = {
'0': '---',
'1': '--x',
'2': '-w-',
'4': 'r--',
'5': 'r-x',
'6': 'rw-',
'7': 'rwx'
}
all_perms = []
for file_permission in files_permissions:
roles = list(file_permission)
for role in roles:
perm = access_dict.get(role)
all_perms.append(perm)
print(''.join(all_perms))
all_perms.clear()
if __name__ == '__main__':
files_permissions = get_octal_permissions()
get_symbolic_permissions(files_permissions)
Moje pytanie: Czy da się ten skrypt napisać jakoś krócej i lepiej?