Ir para conteúdo
Fórum Script Brasil

Creuzebek

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Sobre Creuzebek

Creuzebek's Achievements

0

Reputação

  1. É mais ou menos isto, Kakao. O AdminConfig vai fazer varias coisas, entre outras gravar esta string em um xml. Mas, por favor, dê uma olhada neste código e me diga o que há de errado: >>> list10 = ['name', 'value'] >>> list20 = ['path', r'c:\some\path'] >>> list30 = [list10, list20] >>> print list30 [['name', 'value'], ['path', 'c:\\some\\path']][/codebox] Por que ele está imprimindo as duas contrabarras? De qualquer forma, como eu montaria aquele mesmo dictionary com isto aqui: [codebox]['systemProperties', [[['description', 'Arquivo de configuracao da arquitetura'], ['name', 'A_INI'], ['required', 'false'], ['value', '/xml/a_ini.xml']], [['description', 'Raiz do Ambiente'], ['name', 'A_ROOT'], ['required', 'false'], ['value', 'file://D:\\A\\D9']]]]
  2. A idéia da hash table/dict é uma boa, Kakao. Mas o meu problema não é com a estrutura e sim como estas estruturas estão tratando o '\'. Mesmo utilizando o código que me passou não daria certo. porque passarei "s" para um método, no caso do meu script é o "AdminConfig.modify(s)". Neste caso "s" não vai ser impresso com "print" mas passado como parâmetro, e então continuará a mostrar '\\'. É como se eu mandasse apenas um echo da variável "s" e não um print: >>> s "['x', ['y', ['a', 'c:\\path\\to\\dir']['b', 'c:\\path\\to\\dir']]]\n"[/codebox] Este objeto AdminConfig vai utilizar exatamente o que tem em "s", ou seja, vai utiliza '\\'.
  3. Deixa ver se consigo te explicar: Estou montando um script em Jython (Python sobre Java) para manipular as configurações do meu Websphere Application Server (servidor de aplicação Java). As configurações deste servidor são mantidas hierarquicamente, onde as listas, e listas dentro de listas representam esta hierarquia. Preciso trocar uma configuração, onde a lista resultante seria algo como: ['Nome_da_propriedade', ['Tipo_da_propriedade', ['nome', 'valor']['nome', 'valor']]] [/codebox] Para facilitar a montagem desta string e até o entendimento eu optei por fazer assim: [codebox]prop1 = ['nome', 'valor'] prop2 = ['nome', 'valor'] prop3 = [prop1, prop2] prop4 = ['Nome_da_propriedade', prop3] Onde prop4 teria a string montada e de forma mais inteligível. O problema é que informações de path em prop1 ou prop2 são parseadas pelo Python, onde ele troca \ por \\ antes de colocar a string em prop3.
  4. Obrigado, Kakao. Mas como eu resolvo o problema com este código? : >>> list1 = ['name', 'test'] >>> list2 = ['path', 'c:\some\path'] >>> list = [list1, list2] >>> print list [['name', 'test'], ['path', 'c:\\some\\path']][/codebox] Quando eu imprimo "list" ele inclui as 2 contra-barras, e estraga a informação.
  5. Povo, Estou tentando manter uma informação de path em uma lista porém quando imprimo esta lista ela é parseada automaticamente pelo repr() e acrescenta mais uma contra-barra na string: >>> alist = ['a', 'b', 'c:\some\path'] >>> alist ['a', 'b', 'c:\\some\\path'] >>> print alist ['a', 'b', 'c:\\some\\path'] Alguém sabe o que fazer para que o Python não mexa na string? []s e obrigado.
×
×
  • Criar Novo...