- Os módulos do Python podem ser usados como ferramentas de linha de comando
- Por exemplo, ao executar o módulo
webbrowser na linha de comando, é possível abrir a URL fornecida no navegador padrão
- A biblioteca padrão do Python inclui muitos desses híbridos de módulo-script
- Ao executar o Python com a opção
-m, o módulo Python fornecido é executado como se fosse um script
- Alguns módulos fazem algo no momento do import; por exemplo, o módulo
antigravity abre uma tirinha do XKCD no navegador. Executá-lo pela linha de comando tem o mesmo efeito que importar o módulo
- Isso é chamado de "import side effect", e a maioria dos módulos evita esse comportamento. Módulos easter egg como
antigravity são exceções
- Os módulos que evitam import side effects usam a variável
__name__ para ter comportamentos diferentes quando são importados como módulo e quando são executados como script
Ferramentas úteis de linha de comando de uso geral
python -m http.server: inicia um servidor web simples
python -m webbrowser: abre o navegador web
python -m json.tool: formata dados JSON de forma legível
python -m calendar: mostra um calendário na linha de comando
Ferramentas especialmente úteis no Windows
python3.12 -m uuid: semelhante ao utilitário CLI uuidgen
python3.12 -m sqlite3: semelhante ao utilitário CLI sqlite3
python -m zipfile: semelhante aos utilitários CLI zip e unzip
python -m gzip: semelhante aos utilitários CLI gzip e gunzip
python -m tarfile: semelhante ao utilitário CLI tar
Ferramentas úteis ao trabalhar com código Python
python -m pip: instala pacotes Python de terceiros
python -m venv: cria um ambiente virtual
python -m pdb: executa o depurador do Python
python -m unittest: executa testes unittest
python -m pydoc: visualiza documentação
python -m doctest: executa doctests do arquivo fornecido
python -m ensurepip: instala o pip
python -m idlelib: executa o REPL gráfico do IDLE
python -m zipapp: converte um módulo Python em um ZIP executável
python -m compileall: pré-compila arquivos Python em bytecode
Ferramentas de análise de código Python
python -m tokenize: divide um módulo Python em tokens
python -m ast: mostra a árvore sintática abstrata do código
python -m dis: desmonta código Python em bytecode
python -m inspect: inspeciona o código-fonte de objetos Python
python -m pyclbr: mostra uma visão geral dos objetos de um módulo
Scripts divertidos que funcionam como easter eggs do Python
python -m __hello__: imprime "Hello world!"
python -m this: imprime The Zen of Python (PEP 20)
python -m antigravity: abre no navegador a tirinha XKCD nº 353 relacionada a Python
python -m turtledemo: mostra demonstrações de vários desenhos que podem ser feitos com o módulo turtle
Outras ferramentas relacionadas ao Python
python -m asyncio: executa um REPL Python com suporte a asyncio
python -m cProfile: faz profiling de programas Python
python -m pstats: mostra estatísticas de perfis gerados pelo cProfile
python -m pickle: visualiza o conteúdo de arquivos pickle (high-level)
python -m pickletools: desmonta arquivos pickle (low-level)
Ferramentas menos úteis
python -m timeit: mede o tempo de execução de expressões Python
python -m site: mostra informações de "site" do Python
python -m sysconfig: mostra detalhes da configuração do Python
python -m platform: mostra informações da plataforma atual
python -m mimetypes: mostra informações de mimetype/extensão de arquivos
python -m quopri: codifica/decodifica dados brutos de email
python -m filecmp: compara o conteúdo de dois diretórios
python -m tabnanny: verifica mistura de tabs e espaços em arquivos Python
2 comentários
Nossa, tem bem mais recursos bons do que eu imaginava, muito bom.
Lembro que, em um servidor Linux em ambiente isolado para o qual levei um arquivo zip, não havia o comando
unzip, então descompactei usando o módulopython -m zipfilee segui em frente.