Задать вопрос
@Usdmal
Учу python, работаю юристом

Можете помочь получить примеры вывода команды `tree` в кодировках, отличных от CP866 и UTF-8, для тестирования парсера на Python?

Я разрабатываю утилиту на Python для конвертации вывода команды `tree` (Windows и Linux) в Excel с автоопределением кодировки. Чтобы протестировать обработку кириллицы, иероглифов и спецсимволов в разных кодировках (особенно отличных от моей CP866, где программа точно работает, и от UTF-8), мне не хватает реальных примеров.

Буду очень благодарен, если вы поделитесь результатами выполнения команды `tree`. Подойдёт вывод без параметров или с флагами `/f`, `/a`, `/f /a` (не обязательно все варианты сразу). Это может быть дерево даже директории с какой-нибудь игрой.

Если у вас есть действительно большое дерево каталогов, это будет идеально. Пожалуйста, не вставляйте его в текст ответа, а загрузите на pastebin (например, termbin.com) и оставьте ссылку.

Будет здорово, если для каждого примера вы укажите:
- операционную систему;
- активную кодировку;
- использованные параметры команды `tree`.

Заранее спасибо за помощь!
  • Вопрос задан
  • 51 просмотр
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
opium
@opium
Просто люблю качественно работать
вывод с чужих машин тебе не особо и нужен — сгенерируй эталонное дерево в utf-8, лучше с ASCII-ветвями (`tree /a` в Windows, `tree --charset=ascii` в Linux — так меньше риск что рамка не влезет в целевую кодировку), и перекодируй сам под нужные:

text = open('tree-utf8.txt', encoding='utf-8').read()
for enc in ('cp1251', 'koi8-r', 'cp932', 'gbk', 'big5'):
    try:
        data = text.encode(enc)
    except UnicodeEncodeError as e:
        print(enc, 'не влезло:', e)
        continue
    open(f'tree-{enc}.txt', 'wb').write(data)


получишь воспроизводимые тестовые файлы, не завися от того, кто что пришлёт на pastebin.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы