3 заметки с тегом

Развлекаюсь

2018   Photoshop   Развлекаюсь   Юмор

PythonTree

Сегодня, я читал статьи про деревья в БД и случайно в картинках наткнулся на изображение красиво отображающее в консоли иерархическое дерево директории:

В этот момент, мной овалдело непреодолимое желание написать свою версию на Python.

Безо всяких попыток удержаться от такого внутреннего вызова, я немедленно вступил в схватку с неизвестностью. Спустя час с небольшим мне явилось чудо рождения первой, желанной, не до конца окрепшей, но действующей версии метода для отображения дерева. Сейчас это весьма черновой вариант, но он уже полностью рабочий, результат выглядит так:

── TestFolder
   ├─── go
   │    └ image-resizer
   │      ├── handlers.go
   │      └── image_server.go
   │
   └─── scripts
        ├── configure_elasticsearch.py
        ├── email_resend.py
        └── image_upload.py

В терминале:

Интересный факт, благодаря использованию os.walk() основная функция получилась НЕ рекурсивной и формирует дерево в один проход.

Первая версия уже умеет:

  1. отображать дерево красивыми Unicode символами — про это читал здесь
  2. добавляет пустое пространство после последнего файла в директории (spacing_after_last_file=True)
  3. подсвечивать цветом имена файлов, диретории и линии ( colors=True ) — читал тут
  4. отображать дерево в компактном виде ( compact=True )

Планы на будущие версии:

  1. оформить в виде полноценного модуля
  2. добавить возможность отображать стандартными символами ( ` — | )

На неделе, найду время и более подробно опишу процесс здесь.

Ссылка на репозиторий: PythonTree на GitHub

2017   Python   Развлекаюсь

Hello, world!

Bash

echo "Hello, world!"

Basic

PRINT "Hello, world!"​

CoffeeScript

console.log "Hello, world!"

Go

package main
import "fmt"
func main() {
    fmt.Println("Hello, world!")
}

JavaScript

console.log("Hello, world!");

PHP

<?php echo 'Hello, world!'; ?>

Python

print("Hello, world!")

Ruby

puts "Hello, world!"

SQL

SELECT 'Hello, world!';
2017   Код   Развлекаюсь