Em comparação com Java (em uma string), você faria algo como "First Line\r\nSecond Line"
.
Então, como você faria isso em Python, com o objetivo de gravar várias linhas em um arquivo regular?
python
line-breaks
file-writing
FabianCook
fonte
fonte
print
funciona comoSystem.out.println
em Java e adiciona automaticamente uma nova linha após o texto, certo?print
instrução no Python também pode ser usada para gravar arquivos (os detalhes diferem entre o Python 2.xe o Python 3.x, portanto, consulte os documentos de referência da sua versão).print
em Python 2.x -print
em Python 3.xRespostas:
Depende de quão correto você deseja ser.
\n
normalmente fará o trabalho. Se você realmente deseja acertar, procure o caractere de nova linha noos
pacote . (Na verdade, é chamadolinesep
.)Nota: ao gravar em arquivos usando a API Python, não use o
os.linesep
. Apenas use\n
; O Python traduz automaticamente isso para o caractere de nova linha apropriado para sua plataforma.fonte
"\r\n"
. Isso significa queos.linesep
será"\r\n"
. Quando você está gravando em um arquivo no modo de texto, ele faz a conversão de nova linha à medida que escreve; isto é, cada um"\n"
na saída será convertido"\r\n"
no arquivo resultante. Você pode ver como isso é um problema se o texto que você está escrevendo já contiver"\r\n"
seqüências: o resultado estará"\r\r\n"
no final de cada linha. Eu suponho, pelo menos: eu realmente não tentei.os.linesep
proposta errada , não? Não seria um grande drama e orgulho do autor não sofreria tanto Eu acreditolinesep
existe e existe para que você possa descobrir qual é o separador de linha do sistema.linesep
ainda pode ser útil.O novo caractere de linha é
\n
. É usado dentro de uma string.Exemplo:
onde
\n
está o caractere de nova linha.Isso produziria o resultado:
Se você usa o Python 2, não usa os parênteses na função de impressão.
fonte
Você pode escrever nas novas linhas separadamente ou em uma única sequência, o que é mais fácil.
Exemplo 1
Entrada
Você pode escrever o '\ n' separadamente:
Resultado
Exemplo 2
Entrada
Como outros já apontaram nas respostas anteriores, coloque \ n nos pontos relevantes da sua string:
Resultado
fonte
Se você estiver inserindo várias linhas de texto ao mesmo tempo, acho que esse é o formato mais legível.
O \ no final de cada linha escapa à nova linha (o que causaria um erro).
fonte
No Python, você pode apenas usar o caractere de nova linha, ou seja,
\n
fonte
Solução mais simples
Se você ligar apenas
print
sem argumentos, será exibida uma linha em branco.Você pode canalizar a saída para um arquivo como este (considerando o seu exemplo):
Além de ser independente do sistema operacional (sem precisar usar o
os
pacote), também é mais legível do que colocar\n
dentro de strings.Explicação
A
print()
função possui um argumento opcional de palavra-chave para o final da string, chamadoend
, que assume como padrão o caractere de nova linha do SO, por exemplo.\n
. Então, quando você está ligandoprint('hello')
, o Python está realmente imprimindo'hello' + '\n'
. O que significa que quando você está ligandoprint
sem argumentos, na verdade está imprimindo'' + '\n'
, o que resulta em uma nova linha.Alternativo
Use seqüências de várias linhas.
fonte
Disjuntor de linha independente de plataforma: Linux, windows e IOS
Resultado:
fonte
Da mesma forma
'\n'
, embora você provavelmente não precise do'\r'
. Existe uma razão para você tê-lo em sua versão Java? Se você precisar / desejar, também poderá usá-lo da mesma maneira no Python.fonte
\r
é retorno de carro, quando você começa a propriedade do sistema para a nova linha aparece como\r\n
\n
é o único caractere de nova linha.\n
.\ n - a inserção simples de caracteres de nova linha funciona:
fonte
A maioria dos caracteres de escape em literais de string do Java também é válida no Python, como "\ r" e "\ n".
fonte
Como mencionado em outras respostas: "O novo caractere de linha é \ n. É usado dentro de uma string".
Achei que a maneira mais simples e legível é usar a função "format", usando nl como o nome da nova linha, e quebre a string que você deseja imprimir no formato exato em que irá imprimi-la:
Isso produzirá:
Dessa forma, ele executa a tarefa e também oferece alta legibilidade ao código :)
fonte
\ n separa as linhas de uma string. No exemplo a seguir, continuo escrevendo os registros em um loop. Cada registro é separado por
\n
.fonte
Vale ressaltar que, quando você inspeciona uma string usando o shell python interativo ou um notebook Jupyter, as
\n
outras strings com barra invertida\t
são renderizadas literalmente :As novas linhas, guias e outros caracteres especiais não impressos são renderizados como espaço em branco somente quando impressos ou gravados em um arquivo:
fonte