building strings from variables
gal.diskin at gmail.com
Sat Oct 7 15:46:55 CEST 2006
Matthew Warren wrote:
> > -----Original Message-----
> > From:
> > python-list-bounces+matthew.warren=digica.com at python.org
> > [mailto:python-list-bounces+matthew.warren=digica.com at python.o
> > rg] On Behalf Of Gal Diskin
> > Sent: 05 October 2006 16:01
> > To: python-list at python.org
> > Subject: building strings from variables
> > Following a discussion with an associate at work about various ways to
> > build strings from variables in python, I'd like to hear your opinions
> > and preferred methods. The methods we discussed are:
> > 1. some_string = "cd %s ; %s %d %s %s" % ( working_dir, ssh_cmd,
> > some_count, some_param1, some_param2)
> > 2. import string
> > template = string.Template("cd $dir ; $cmd $count $param1
> > $param2")
> > some_string = template.substitute(dict(dir=working_dir,
> > cmd=ssh_cmd,
> > count=some_count,
> > pararm1=some_param1,
> > param2=some_param2))
> > here you can use a couple of nice tricks by using class.__dict__ and
> > globals() \ locals() dictionaries.
> > 3. some_string = "cd "+working_dir+" ; "+ssh_cmd+ "
> > "+str(some_count)+" "+some_param1+" "+some_param2
> > (all these are supposed to produce the same strings)
> > Which methods do you know of \ prefer \ think is better because...?
> > I will appreciate any opinions about the matter.
> I think, it would depend really on what your aims are (readable code,
> fast string generation...), and how the vars you want to build the
> string from are respresented in your code (is it natural to use a dict
> I kicked off a conversation similar to this earlier today, and that was
> my conclusion after helpful debate & advice.
> This email is confidential and may be privileged. If you are not the intended recipient please notify the sender immediately and delete the email from your computer.
> You should not copy the email, use it for any purpose or disclose its contents to any other person.
> Please note that any views or opinions presented in this email may be personal to the author and do not necessarily represent the views or opinions of Digica.
> It is the responsibility of the recipient to check this email for the presence of viruses. Digica accepts no liability for any damage caused by any virus transmitted by this email.
> UK: Phoenix House, Colliers Way, Nottingham, NG8 6AT UK
> Reception Tel: + 44 (0) 115 977 1177
> Support Centre: 0845 607 7070
> Fax: + 44 (0) 115 977 7000
> SOUTH AFRICA: Building 3, Parc du Cap, Mispel Road, Bellville, 7535, South Africa
> Tel: + 27 (0) 21 957 4900
> Fax: + 27 (0) 21 948 3135
Thanks for replying. I tried looking up your discussion and I'm unsure
if I found the right post. Would you mind linking to it?
G__.D_____ at Intel.com
G__.D_____ at gmail.com
More information about the Python-list