|
0 / 0 / 2
Регистрация: 06.02.2016
Сообщений: 133
|
||||||
Визуализация каталогов через графы05.07.2016, 11:47. Показов 1884. Ответов 6
Метки нет (Все метки)
Нашёл на хабре статью "Визуализация каталогов на Python средствами NetworkX".
Попробовал сделать у себя и получил кучу ошибок: "Код
File "C:/Users/User/Documents/Учёба/Практика/Graph.py", line 36, in <module> main() File "C:/Users/User/Documents/Учёба/Практика/Graph.py", line 29, in main G = get_tree() File "C:/Users/User/Documents/Учёба/Практика/Graph.py", line 11, in get_tree sub_tree = [os.path.join(point, x) for x in os.listdir(point) if os.path.isdir(os.path.join(point, x)) and not is_hidden_dir(os.path.join(point, x))] File "C:/Users/User/Documents/Учёба/Практика/Graph.py", line 11, in <listcomp> sub_tree = [os.path.join(point, x) for x in os.listdir(point) if os.path.isdir(os.path.join(point, x)) and not is_hidden_dir(os.path.join(point, x))] File "C:/Users/User/Documents/Учёба/Практика/Graph.py", line 23, in is_hidden_dir p = subprocess.check_output(["attrib", d.encode('cp1251') if isinstance(d, unicode) else d]) NameError: name 'unicode' is not defined Process finished with exit code 1 Что я делаю не так? Попробовал сделать по другому - создал папку "1", в неё засунул файл lol.txt - высветилось окно построения, но пустое. Сделал в папке ещё папку - опять вылет с ошибками.
0
|
||||||
| 05.07.2016, 11:47 | |
|
Ответы с готовыми решениями:
6
Дерево каталогов через Tmemo |
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
|
| 05.07.2016, 12:31 | |
|
попробуйте на втором питоне запустить или заменить (d, unicode) на (d, str)
0
|
|
|
0 / 0 / 2
Регистрация: 06.02.2016
Сообщений: 133
|
|||
| 05.07.2016, 12:48 [ТС] | |||
|
File "C:/Users/User/Documents/Учёба/Практика/Graph.py", line 39, in <module> main() File "C:/Users/User/Documents/Учёба/Практика/Graph.py", line 32, in main G = get_tree() File "C:/Users/User/Documents/Учёба/Практика/Graph.py", line 11, in get_tree sub_tree = [os.path.join(point, x) for x in os.listdir(point) if File "C:/Users/User/Documents/Учёба/Практика/Graph.py", line 12, in <listcomp> os.path.isdir(os.path.join(point, x)) and not is_hidden_dir(os.path.join(point, x))] File "C:/Users/User/Documents/Учёба/Практика/Graph.py", line 25, in is_hidden_dir p = subprocess.check_output(["attrib", d.encode('cp1251') if isinstance(d, str) else d]) File "C:\Program Files\Python35-32\lib\subprocess.py", line 626, in check_output **kwargs).stdout File "C:\Program Files\Python35-32\lib\subprocess.py", line 693, in run with Popen(*popenargs, **kwargs) as process: File "C:\Program Files\Python35-32\lib\subprocess.py", line 947, in __init__ restore_signals, start_new_session) File "C:\Program Files\Python35-32\lib\subprocess.py", line 1198, in _execute_child args = list2cmdline(args) File "C:\Program Files\Python35-32\lib\subprocess.py", line 751, in list2cmdline needquote = (" " in arg) or ("\t" in arg) or not arg TypeError: a bytes-like object is required, not 'str'
0
|
|||
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
|
| 05.07.2016, 12:56 | |
|
так поставьте его туда)
0
|
|
|
0 / 0 / 2
Регистрация: 06.02.2016
Сообщений: 133
|
||
| 05.07.2016, 13:11 [ТС] | ||
|
При попытке поставить сам pip Error: Python packaging tool 'pip' not found
0
|
||
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
|
| 05.07.2016, 14:03 | |
|
Установите pip не через pycharm.
Добавлено через 18 минут хотя я почему-то думаю, что он у Вас есть.
0
|
|
|
0 / 0 / 2
Регистрация: 06.02.2016
Сообщений: 133
|
|||||||
| 07.07.2016, 10:38 [ТС] | |||||||
|
В pycharm при использовании интерпретатора питона 3.5 они спокойно добавляются в проект. А если поменять на питон 2.7, при попытке добавления выдаются ошибки, которые я написал выше. P.S. Я под виндой, а не под линуксом, если что. P.P.S кажется что-то нагуглилось по теме установки networkx на 2.7. По результатам отпишусь Добавлено через 9 минут Не получилось. Скачал с сайта питона networkx-1.11-py2.7.egg но при установке через pip, он пытается установить через pip 3.5 и говорит, что networkx уже есть и предлагает только попробовать его обновить. Как ему сказать что я хочу поставить для 2.7??? Добавлено через 1 час 33 минуты UPD: Всё завелось. Только картинка чёт странная... буду думать Добавлено через 14 минут Так. В чём проблема я понял - он не видит файлы в папках. Но почему? И не хочет делать граф всего диска: Кликните здесь для просмотра всего текста
C:\Python27\python.exe C:/Users/User/Documents/Учёба/Практика/Graph.py Traceback (most recent call last): File "C:/Users/User/Documents/�����/��������/Graph.py", line 39, in <module> main() File "C:/Users/User/Documents/�����/��������/Graph.py", line 32, in main G = get_tree() File "C:/Users/User/Documents/�����/��������/Graph.py", line 17, in get_tree return get_tree(tree, G, itr) Количество повторений этой ошибки (Line 17) превысило допустимый объём знаков. Кодировка сохранена File "C:/Users/User/Documents/�����/��������/Graph.py", line 12, in get_tree os.path.isdir(os.path.join(point, x)) and not is_hidden_dir(os.path.join(point, x))] File "C:/Users/User/Documents/�����/��������/Graph.py", line 25, in is_hidden_dir p = subprocess.check_output(["attrib", d.encode('cp1251') if isinstance(d, unicode) else d]) File "C:\Python27\lib\subprocess.py", line 530, in check_output process = Popen(stdout=PIPE, *popenargs, **kwargs) File "C:\Python27\lib\subprocess.py", line 618, in __init__ _cleanup() RuntimeError: maximum recursion depth exceeded Exception AttributeError: "'Popen' object has no attribute '_child_created'" in <bound method Popen.__del__ of <subprocess.Popen object at 0x03266850>> ignored Process finished with exit code 1 Добавлено через 8 минут Хм. Если вложенных папок слишком много, то он ругается. RuntimeError: maximum recursion depth exceeded in cmp Как это обойти? Добавлено через 23 часа 2 минуты Вопросы всё ещё в силе: Если вложенных папок слишком много, то он ругается. RuntimeError: maximum recursion depth exceeded in cmp Как это обойти? Хотя вот так он спокойно выводит список всех директорий:
Запуск от имени администратора не помогает.
0
|
|||||||
| 07.07.2016, 10:38 | |
|
Помогаю со студенческими работами здесь
7
Открытие каталогов через ListBox Визуализация движения электронов через gtk 2.0 Визуализация WEB-страниц через HDMI Графы. Проехать из A в B через C. Визуализация данных через срез в разных плоскостях Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|