2015年3月8日星期日

Python Tips

How to easily convert a list to a string for display

There are a few useful tips to convert a Python list (or any other iterable such as a tuple) to a string for display.

First, if it is a list of strings, you may simply use join this way:
>>> mylist = ['spam', 'ham', 'eggs']
>>> print ', '.join(mylist)
spam, ham, eggs


Using the same method, you might also do this:
>>> print '\n'.join(mylist)
spam
ham
eggs


However, this simple method does not work if the list contains non-string objects, such as integers.
If you just want to obtain a comma-separated string, you may use this shortcut:
>>> list_of_ints = [80, 443, 8080, 8081]
>>> print str(list_of_ints).strip('[]')
80, 443, 8080, 8081


Or this one, if your objects contain square brackets:
>>> print str(list_of_ints)[1:-1]
80, 443, 8080, 8081


Finally, you may use map() to convert each item in the list to a string, and then join them:
>>> print ', '.join(map(str, list_of_ints))
80, 443, 8080, 8081
>>> print '\n'.join(map(str, list_of_ints))
80
443
8080
8081


source: http://www.decalage.info/en/python/print_list

Python Tips


IOError: [Errno 22] invalid mode ('r') or filename

test_file=open('c:\\Python27\test.txt','r')
test_file=open(r'c:\Python27\test.txt','r')


or double the slashes:
test_file=open('c:\\Python27\\test.txt','r')

or use forward slashes instead:
test_file=open('c:/Python27/test.txt','r')