Краткое содержание для тех, кому совершенно некогда читать эту страницу текста:
$ python -m http.server
# Создать веб-сервер, обслуживающий файлы, которые относятся к текущей директории
$ python -m http.server 8080
# Запустить веб-сервер на порту 8080
$ python -m http.server -b 127.0.0.1
# Привязать веб-сервер к 127.0.0.1
$ python -m http.server -d путь/к/файлам
# Обслуживать файлы, находящиеся по адресу путь/к/файлам
$ echo '{"key": "value"}' | python3 -m json.tool
# Вывод JSON-объектов в форматированном виде
$ python -m gzip data.json
# Сжать файл data.json
$ python -m gzip -d data.json.gz
# Распаковать data.json.gz
$ python -m zipfile -c archive.zip data.txt
# Создать zip-файл с именем archive.zip из исходного файла data.txt
$ python -m zipfile -e archive.zip .
# Распаковать zip-файл в текущую директорию
$ python -m tarfile -c archive.tar data.txt
# Создать tar-файл с именем archive.tar из исходного файла data.txt
$ python -m tarfile -e archive.tar .
# Распаковать tar-архив в текущую директорию
А теперь чуть подробнее.
http-сервер
Модуль http.server предоставляет простой интерфейс командной строки для создания очень простого веб-сервера.
Синтаксис:
$ python -m http.server
Пример:
$ python -m http.server 8080
Эта команда создаст самый базовый веб-сервер для обслуживания файлов из текущей директории. Первый позиционный аргумент задает альтернативный порт.
| Опция | Описание |
|---|---|
--bind, -b ADDRESS | Указание альтернативного адреса привязки (по умолчанию — 0.0.0.0) |
--directory, -d DIRECTORY | Указание другой директории (по умолчанию — текущая рабочая директория) |
--cgi | Запуск CGI-сервера |
Узнать больше можно в документации.
JSON
Модуль json.tool предоставляет простой интерфейс командной строки для валидации и красивого вывода JSON-объектов.
Синтаксис:
$ python -m json.tool <INFILE> <OUTFILE>
Пример:
$ echo '{"key": "value"}' | python3 -m json.tool
{
"key": "value"
}
$ echo '{key: "value"}' | python3 -m json.tool
Expecting property name: line 1 column 2 (char 1)
Если не указаны опциональные аргументы infile и outfile, будут использоваться sys.stdin и sys.stdout (соответственно).
| Опция | Описание |
|---|---|
--sort-keys | Для сортировки вывода словарей в алфавитном порядке, по ключу |
--json-lines | Для трактовки каждой строки ввода как отдельного JSON-объекта |
Узнать больше можно в документации.
GZIP
Модуль gzip предоставляет простой интерфейс командной строки для сжатия или восстановления файлов (аналогично утилитам gzip и gunzip в GNU).
Синтаксис:
$ python -m gzip <FILE>
Пример:
$ python -m gzip data.json
Эта команда сожмет файл data.json.
А эта — распакует файл data.json.gz:
$ python -m gzip -d data.json.gz
| Опция | Описание |
|---|---|
--fast | Применить самый быстрый метод сжатия (само сжатие будет меньше) |
--best | Применить самый медленный метод сжатия (само сжатие будет наилучшим) |
-d, --decompress | Распаковка (декомпрессия) указанного файла |
Узнать больше можно в документации.
ZIP
Модуль zipfile предоставляет простой интерфейс командной строки для работы с ZIP-архивами.
Если вы хотите создать новый архив ZIP, укажите его имя после опции -c, а затем перечислите файлы, которые должны быть заархивированы.
Синтаксис:
$ python -m zipfile -c <ZIP-FILE> <SOURCE-FILE-1> [... <SOURCE-FILE-N>]
Пример:
$ python -m zipfile -c archive.zip data.txt
Эта команда создаст новый ZIP-архив с именем archive.zip, в котором будет содержаться файл data.txt.
Если вы хотите распаковать ZIP-архив в определенную директорию, используйте опцию -e.
Синтаксис:
$ python -m zipfile -e <ZIP-FILE> <OUTPUT-DIR>
Пример:
$ python -m zipfile -e archive.zip .
Эта команда извлечет все файлы из archive.zip в текущую директорию.
Чтобы лишь вывести список всех содержащихся в архиве файлов, используйте опцию -l.
Синтаксис:
$ python -m zipfile -l <ZIP-FILE>
Пример:
$ python -m zipfile -l archive.zip
Эта команда выведет список всех файлов в архиве archive.zip.
| Опция | Описание |
|---|---|
-c, --create ZIP-FILE SOURCE-1 [... SOURCE-N] | Создать ZIP-файл из файлов-источников |
-e, --extract ZIP-FILE OUTPUT-DIR | Распаковать ZIP-файл в указанную директорию |
-l, --list ZIP-FILE | Вывести список файлов, содержащихся в ZIP-файле |
-t, --test ZIP-FILE | Проверить, валиден ли ZIP-файл |
Узнать больше можно в документации.
TAR
Модуль tarfile предоставляет простой интерфейс командной строки для работы с TAR-архивами.
Если вы хотите создать архив TAR, укажите его имя после опции -c, а затем перечислите файлы, которые должны быть включены в архив.
Синтаксис:
$ python -m tarfile -c <TAR-FILE> <SOURCE-FILE-1> [... <SOURCE-FILE-N>]
Пример:
$ python -m tarfile -c archive.tar data.txt
Эта команда создаст новый TAR-архив с именем archive.tar. В архиве будет содержаться файл data.txt.
Если вы хотите распаковать TAR-архив в определенную директорию, используйте опцию -e.
Синтаксис:
$ python -m tarfile -e <TAR-FILE> <OUTPUT-DIR>
Пример:
$ python -m tarfile -e archive.tar .
Эта команда извлечет файлы из archive.tar в текущую директорию.
Для вывода списка файлов, содержащихся в архиве, используйте опцию -l.
Синтаксис:
$ python -m tarfile -l <TAR-FILE>
Пример:
$ python -m tarfile -l archive.tar
Эта команда выведет список всех файлов в TAR-архиве archive.tar.
| Опция | Описание |
|---|---|
-c, --create TAR-FILE SOURCE-1 [... SOURCE-N] | Создать TAR-файл из исходных файлов |
-e, --extract TAR-FILE OUTPUT-DIR | Распаковать TAR-файл в указанную директорию |
-l, --list TAR-FILE | Вывести список файлов в TAR-архиве |
-t, --test TAR-FILE | Проверить, валиден ли TAR -архив |
Узнать больше можно в документации.

