Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,5 +1,55 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
|
5 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import os
|
2 |
+
import sys
|
3 |
+
import tempfile
|
4 |
|
5 |
+
def check_permissions():
|
6 |
+
# Список мест для проверки
|
7 |
+
test_locations = {
|
8 |
+
'Текущая директория': '.',
|
9 |
+
'Домашняя директория': os.path.expanduser('~'),
|
10 |
+
'Временная директория': tempfile.gettempdir(),
|
11 |
+
'/tmp': '/tmp'
|
12 |
+
}
|
13 |
+
|
14 |
+
results = []
|
15 |
+
|
16 |
+
for location_name, path in test_locations.items():
|
17 |
+
try:
|
18 |
+
# Проверяем существование директории
|
19 |
+
exists = os.path.exists(path)
|
20 |
+
# Проверяем возможность записи
|
21 |
+
writable = os.access(path, os.W_OK)
|
22 |
+
# Пробуем создать тестовый файл
|
23 |
+
test_file_path = os.path.join(path, 'test_permissions.txt')
|
24 |
+
file_created = False
|
25 |
+
|
26 |
+
try:
|
27 |
+
with open(test_file_path, 'w') as f:
|
28 |
+
f.write('test')
|
29 |
+
file_created = True
|
30 |
+
# Удаляем тестовый файл
|
31 |
+
os.remove(test_file_path)
|
32 |
+
except Exception as e:
|
33 |
+
file_error = str(e)
|
34 |
+
|
35 |
+
results.append(f"{location_name}:")
|
36 |
+
results.append(f" Путь: {path}")
|
37 |
+
results.append(f" Существует: {exists}")
|
38 |
+
results.append(f" Доступна запись: {writable}")
|
39 |
+
results.append(f" Создание файла: {'Успешно' if file_created else 'Ошибка: ' + file_error}")
|
40 |
+
results.append("")
|
41 |
+
|
42 |
+
except Exception as e:
|
43 |
+
results.append(f"{location_name}: Ошибка при проверке: {str(e)}")
|
44 |
+
results.append("")
|
45 |
+
|
46 |
+
# Добавляем информацию о текущем пользователе и процессе
|
47 |
+
results.append("Дополнительная информация:")
|
48 |
+
results.append(f"Текущий пользователь: {os.getenv('USER', 'Неизвестно')}")
|
49 |
+
results.append(f"ID процесса: {os.getpid()}")
|
50 |
+
results.append(f"Текущая рабочая директория: {os.getcwd()}")
|
51 |
+
|
52 |
+
return "\n".join(results)
|
53 |
+
|
54 |
+
if __name__ == "__main__":
|
55 |
+
print(check_permissions())
|