# 2to3

> Conversão automática de código Python 2 para Python 3.
> Esse módulo foi descontinuado no Python 3.11 e foi removido na versão 3.13.
> Referência: <https://github.com/python/cpython/blob/8d42e2d915c3096e7eac1c649751d1da567bb7c3/Doc/whatsnew/3.13.rst?plain=1#L188>.
> Mais informações: <https://manned.org/2to3>.

- Mostra as alterações que seriam feitas sem faze-las de fato (simulação):

`2to3 {{caminho/para/arquivo.py}}`

- Converte um arquivo feito em Python 2 para Python 3:

`2to3 --write {{caminho/para/arquivo.py}}`

- Converte recurso específico de Python 2 para Python 3:

`2to3 --write {{caminho/para/arquivo.py}} --fix {{raw_input}} --fix {{print}}`

- Converte todos os recursos de Python 2 para Python 3, exceto as que específicadas:

`2to3 --write {{caminho/para/arquivo.py}} --nofix {{has_key}} --nofix {{isinstance}}`

- Mostra a lista de todas os recursos disponíveis que podem ser convertidas de Python 2 para Python 3:

`2to3 --list-fixes`

- Converte todos os arquivos feitos em Python 2 em um diretório para Python 3:

`2to3 --output-dir {{caminho/para/arquivos_python3}} --write-unchanged-files --nobackups {{caminho/para/arquivos_python2}}`

- Executa 2to3 com múltiplas threads:

`2to3 --processes {{4}} --output-dir {{caminho/para/arquivos_python3}} --write --nobackups --no-diff {{caminho/para/arquivos_python2}}`
