Краткое содержание для тех, кому совершенно некогда читать эту страницу текста:
$ 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 -архив |
Узнать больше можно в документации.