This series is a part of Club ShowMeDo. Click to learn why you should join our
club with a simple monthly subscription.
We teach Python and all the cool modules
Topics include beginner Python, GUIs, Web and Desktop Apps
Long, specially crafted video tutorials just for you
Club video tutorials extend our normal Free content
Save your time - we've done the research for you
Keep your skills up-to-date
Learn at your own pace, everything you need is shown to you
Over 12 hours of archived material are waiting for you in the club
 Ian Ozsvald
I am the co-founder of ShowMeDo (see http://showmedo.com/about), author of `The Screencasting Handbook <http://thescreencastinghandbook.com>`_ and the founder of the professional screencast production company `ProCasts <http://procasts.co.uk>`_:
.. image:: http://procasts.co.uk/media/procasts_sma ...
 Ian Ozsvald
I am the co-founder of ShowMeDo (see http://showmedo.com/about), author of `The Screencasting Handbook <http://thescreencastinghandbook.com>`_ and the founder of the professional screencast production ...
Our authors tell us that feedback from you is a big motivator. Please take a few moments to let them know what you think of their work.
(Showmedo is undergoing major changes. To
report any problems viewing the videos please
email us and include
browser and OS specifics. Cheers - Kyran.)
Next we build upon the previous episode, this time we use raw_input to ask the user a question after every line is shown.
Having gathered the answers we write out a new text file which combines both the originally read data and the user's input.
"""textfiles2.py read text from a file"""
# open a file for reading in the current directory
f = open('textdata_in.txt', 'r')
# read all the lines into a list
lines = f.readlines()
ages =  # empty list for pairs of names and ages
for line in lines:
name = line.strip()
# note int() conversion of string->int
# also note that there's no error handling here for bad input!
age = int(raw_input("What is %s's age? " % (name)))
# print the name+age pairs
# open a 2nd file for writiing
fo = open('textdata_out.txt', 'w')
# iterate over each line, print name then age then carriage-return
for name, age in ages:
fo.write('%s, %d\n' % (name, age))
# tidy up by closing the file to flush all writes, not strictly necessary
# as files are closed when the script finishes anyway
Are you learning Python? To keep the site running clean and ad-free we've started Club ShowMeDo. The club will allow you access to some special videos we're making to pass on programming skills we consider important to the development and enjoyment of Free Open Source Software (FOSS).
The focus at the moment is on developing with the Python programming language, one of the backbones of the FOSS movement with a huge number of included and third-party libraries.
We welcome feedback and we want to hear your ideas.
Showmedo's development is fairly rapid and bugs will inevitably creep in. If you have any problems please drop us a line using the contact address below. Likewise, any suggestions for improvements to the site are gratefully received.