[Tutor] Assigning each line of text to a separate variable

Marv Boyes marvboyes at gmail.com
Thu Jul 30 22:26:11 CEST 2009


I'm very sorry; I should have been more explicit in what it is I'm 
working with.

The response from the server consists of a pair of hashes and a list of 
URLs for doing different things with the file the hashes represent. So 
the full response is like this:

	file_hash
	delete_hash
	http://server.com/file_hash.ext
	http://server.com/file_hashA.ext
	http://server.com/file_hashB.ext
	http://server.com/file_hashC.ext
	http://server.com/delete/deletehash

I'm hoping to assign each line of that response to a separate variable 
so I can format the output on a case-by-case basis, e.g.:

	direct_link = <third URL in response>
	print "Direct link to file: %s' % direct_link
	
	-or-

	delete_file = <seventh URL in response>
	print "Delete the file: %s' % delete_file

I've got seven lines worth of server response, their order is 
significant, and I need to be able to present each value in an arbitrary 
way. I won't necessarily be presenting these values to the user in the 
same order they come in the server response. Some of the values I'll 
need to use elsewhere in the script to do other things, but it won't be 
necessary to present those values to the user.

I'm not sure I'm even making sense to myself.


Kent Johnson wrote:
> On Thu, Jul 30, 2009 at 3:19 PM, Marv Boyes<marvboyes at gmail.com> wrote:
>> Hello, all. This is probably embarrassingly basic, but I haven't been able
>> to find something that works.
>>
>> I'm working on a script that needs to manipulate a list (not 'list' in the
>> Python sense) of URLs returned in a server response. Right now, I'm
>> stripping the XML tags from that response and assigning the resulting list
>> of URLs to a variable so I can print it in the terminal. So when I do, say,
>> 'print urls' I get something like this:
>>
>>        http://server.com/thing1
>>        http://server.com/thing2
>>        http://server.com/thing3
>>
>> And so on. What I would _like_ to do is assign each line of that list to a
>> separate variable, so that I can format my output to be more explicit;
>> something like this:
>>
>>        Link to Thing1: http://server.com/thing1
>>        Link to Thing2: http://server.com/thing2
> 
> It looks like your "list" of URLs is a string containing one URL per
> line. If you put it in an actual list, you can process it more
> flexibly. Something like
> 
> urlList = urls.splitlines()
> for i, url in enumerate(urlList):
>   print "Link to Thing%s: %s" % (i, url)
> 
> Kent
> 



More information about the Tutor mailing list