O grupo no qual você está postando é um grupo da Usenet. As mensagens postadas neste grupo farão com que o seu e-mail fique visível para qualquer pessoa na internet.
Basicamente, funciona assim: para cada variável que você quer colocar na linha, coloca um marcador %s, %d, %f (tem outros, mas estes são os mais comuns) e depois passa como argumento para o operador uma tupla de valores que serão encaixados respectivamente nos lugares marcados. Por exemplo, suponha que você tem itens de um pedido:
%3d - exibir número inteiro em base decimal, em campo de 3 espaços de largura, alinhado à direita %-20s - exibir string em campo de 20 espaços, alinhada à direita (é o que faz o sinal - na frente do 20) %8.2f - exibir número de ponto flutuante em campo de 8 casas de largura, com duas casas após o ponto decimal, alinhado à direita
> > Estou desenvolvendo um layout de arquivo para um Sistema Legado, o
> > arquivo deve ter por linha 400 colunas
> > Que assume diversas posições alguem sabe como fazer isso e os espaços
> > devem continuar brancos
> Luiz Carlos, o Julio Nobrega recomendou o método ljust, mas eu prefiro
> é usar o operador de formatação de strings, que é mais prático e mais
> flexível.
> Veja na documentação do Python a seção "string formatting operations"
> Basicamente, funciona assim: para cada variável que você quer colocar
> na linha, coloca um marcador %s, %d, %f (tem outros, mas estes são os
> mais comuns) e depois passa como argumento para o operador uma tupla
> de valores que serão encaixados respectivamente nos lugares marcados.
> Por exemplo, suponha que você tem itens de um pedido:
> %3d - exibir número inteiro em base decimal, em campo de 3 espaços de
> largura, alinhado à direita
> %-20s - exibir string em campo de 20 espaços, alinhada à direita (é o
> que faz o sinal - na frente do 20)
> %8.2f - exibir número de ponto flutuante em campo de 8 casas de
> largura, com duas casas após o ponto decimal, alinhado à direita
No momento que li isso estava justamente lendo sobre a PEP3101[1],
então resolvi reescrever o código usando python3, vejam como ficou:
ramiro@dif5:~$ python3
Python 3.1.1 (r311:74480, Sep 23 2009, 14:24:06)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Espero não criar confusão para quem está começando,
se você está começando a aprender Python estude a
versão 2.6 quando estiver firme pode começar a estudar
a versão 3.x
> Espero não criar confusão para quem está começando, > se você está começando a aprender Python estude a > versão 2.6 quando estiver firme pode começar a estudar > a versão 3.x
Legal a comparação, Ramiro.
Em relação a dica sobre Python 2.6 x Python 3 para quem está começando, a minha opinião é a seguinte:
Python 3 é na verdade mais fácil de aprender, porque é mais consistente (por exemplo, não tem a questão str x unicode, entre outras). Se eu fosse ministrar uma disciplina de introdução à programação na faculdade, usaria Python 3.
Agora, para quem quer usar Python para trabalhar, Python 2.6 é a melhor opção porque tem muito mais suporte de ferramentas, bibliotecas, frameworks. Vai levar um tempo para tudo isso migrar para Python 3. Outra vantagem do Python 2.x é a maior oferta de textos em português.