CSC111 Lab 5 2015

From dftwiki3
Revision as of 22:58, 22 February 2015 by Thiebaut (talk | contribs)
Jump to: navigation, search

--D. Thiebaut (talk) 12:17, 22 February 2015 (EST)


<showafterdate after="20150225 11:00" before="20150601 00:00">

Preparation


  • Copy paste the program below in a new Idle window, and call it lab5Companion.py. Save it to your working directory, where you normally save your lab programs.
  • Run the program. It should create 3 text files in your folder. You will be using them in this lab. The files are called:
    • chocoQuotes.txt
    • hargitay.txt
    • joanneHarris.txt


# lab5Companion.py
# D. Thiebaut
# This program will create several files in the directory
# where you will run it.
# The files are retrieved from a Web server, stored temporarily
# in a string, and stored in a local file on your disk.
# The 3 files are very, very short.
# Their names are:
# - chocoQuotes.txt
# - hargitay.txt
# - joanneHarris.txt

import urllib.request  # the lib that handles the url stuff

# main program
def main():

    # list of files to retrieve 
    fileNames = [ "chocoQuotes.txt", "hargitay.txt", "joanneHarris.txt" ]

    # get each file, one at a time
    for fileName in fileNames:

        # url where the files are located
        url = "http://cs.smith.edu/~dthiebaut/111/files/" + fileName

        # fetch the file and put its contents in the
        # strign text.
        response = urllib.request.urlopen( url )
        text     = response.read().decode( 'UTF-8' )
        
        # write text to file, in the same directory as this program.
        file     = open( fileName, "w" )
        file.write( text + "\n" )
        file.close()

        # give feedback to user.
        print( "File {0:1} created in your folder".format( fileName ) )


main()


Splitting Long Strings


In this section you will see how to take text represented as a multi-line string, and process it various ways.


  • Long strings that span several lines can be created by enclosing them in triple quotes; either triple single-quotes (), or triple double-quotes (""").
  • Copy/paste the program below in a new program. You may call it lab5.py


# lab5.py

text = """Chocolate
Chocolate is the first luxury.
It has so many things wrapped up in it:
Deliciusness in the moment,
childhood memories,
and that grin-inducing
feeling of getting a reward for being good.
--Mariska Hargitay"""

def main():
    # split the long string into individual lines
    lines = text.split( "\n" )

    # print each line
    for line in lines:
        print( line )

main()


  • Run the program. Verify that it outputs the entirety of the text.
  • Just to make sure we understand what the variable lines contain, make your program print it, with a simple print( lines ) statement.
  • Observe that it's just a Python list.

=

</showafterdate>