[python] Jak udelat raw string. Vyreseno

Petr Prikryl PrikrylP na skil.cz
Středa Leden 17 12:24:39 CET 2007


Osvědčil se mi občas i zápis ve stylu:

d = { 'dpath': '/home/neco',
      'user':  'uuuuuu',
      'host':  'hhhhh',
      'spath': 'ppppp',
    }

Obsah slovníku se dá samozřejmě konstruovat dynamicky.
Jeho obsah se pak dá dosadit přes formátovací řetězec...

cmd = 'scp %(user)s@%(host)s:"%(spath)s" atd.' % d
...

nebo bez slovníku (v jednodušších případech)

cmd = 'scp %s@%s:"%s" atd.' % (user, host, spath)



pepr


> -----Original Message-----
> From: python-bounces na py.cz [mailto:python-bounces na py.cz] On 
> Behalf Of dmichal na altien.com
> Sent: Wednesday, January 17, 2007 12:02 PM
> To: python na py.cz
> Subject: Re: [python] Jak udelat raw string. Vyreseno
> 
> Tak po ruznych pokusech jsem to vyresil a pak se zastydel. :)
> Ve finale stacilo prestat blbnout s backslah a dat tam jenom uvozovky.
> 
> spath = '"' + spath + '"'
> 
> Pekny den,
> David
> 
> 
> > -----Original Message-----
> > From: python-bounces na py.cz [mailto:python-bounces na py.cz] On 
> Behalf Of
> > dmichal na altien.com
> > Sent: Wednesday, January 17, 2007 10:26 AM
> > To: python na py.cz
> > Subject: Re: [python] Jak udelat raw string.
> > 
> > 
> > > Python nezna nic jako "raw string", prefix "r" pred uvozovkama je
> > jenom
> > > berlicka pro tebe, abys nemusel v zapisu kodu (cili v .py souboru)
> > > escapovat kazdy backslash. Vysledny objekt (obsah a typ 
> promenne) je
> > > stejny.
> > >
> > > Pokud te dobre chapu, snazis se odescapovat parametry 
> predevane scp,
> > > aby
> > > je neinterpretoval shell, kterym scp poustis. Nebylo by jednodussi
> > > poustet scp primo (nejakym exec()em treba)?
> > >
> > > Hezky vecer,
> > > -jkt
> > 
> > Mozna pouziti primo exec by bylo jednodussi ale ja v tom scriptu
> > zadavam
> > i heslo, proto potrebuji pouzit ten pexpect modul. Ale 
> koukal jsem do
> > zdrojaku pexpect a ten uz predane parametry nijak neupravuje jen je
> > predava dal. Jakym zpusobem bych tedy mohl "odescapovat" parametry?
> > Respektive jakym pzusobem bych to mel predate v pripade 
> pouziti exec?
> > Protoze s pexpect by to pote melo fungovat stejne.
> > Diky,
> > David
> > 
> > _______________________________________________
> > Python mailing list
> > Python na py.cz
> > http://www.py.cz/mailman/listinfo/python
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
> 


Další informace o konferenci Python