CIT 590 Intro to Programming Files etc

advertisement
CIT 590
Intro to Programming
Files etc
Agenda
• Files
• Try catch except
• A module to read html off a remote website (only works
sometimes)
Basic file operations
• f = open(‘myRandomFile.txt’)
• Open(“”)
• Default is the read only mode
• Open(“”, “w”)
• Open the file in the mode that you would like to use it
• Read - r
• Write - w
• Append – a
• Opening a file in the ‘r+’ mode if you want to read and
write to it at the same time.
• Use this one with caution
Reading and writing to a file
• Read, readline, readlines
• Using a while loop to read every single line of a file
• Write, writelines
• Close() – why should I close a file
• Cleaning up
• The operating system should close the file, but that behavior is not
entirely under your control
• Remember that opening a file for writing will remove the
old values
• fileExperiments.py
Looping through the contents of a file
• Line = f.readLine() and then follow it up by while line:
• Instead of using a while loop with a readline, python
provides the ability to do a for loop
• for x in f:
• That will go through the file line by line and each time a full line will
be assigned to the variable x
• Then you can do fun things with x
• beatleMania.py
Tell and seek
• Once I have read a file all the way through how do I go
back to the start??
• Or in general, how do I mark a point in the file that I now
want to come back to.
x = f.tell()
#do some reading writing etc etc on f
f.seek(x) to get back to where we were
What file formats are supported?
• Text files work best in that they do not come with headers
and footers etc
• You can always read in binary but it is ‘yucky’
• Csv files work as well
• Usually if you are dealing with a specific format, you will
be using some extra packages
The os module
• File management is generally being done at the operating
system level
• In Python if you want to use command prompt like
commands ‘import os’
• os.listdir(‘C:\Python27’)
• os.rename(‘oldfilename’, ‘newfilename’)
Exceptions! Try except
• try:
Something
except error, e:
do something with the error. Maybe print some message
else:
#it was a successful attempt. Now do the real work
tryExceptForFiles.py
Standard input and output
• The sys module gives you access to some built in ‘files’
• The console input is basically just sys.stdin
• Similarly the console output is sys.stdout
• Sys module has other built in functions like sys.argv to get
the command line arguments.
• add10ToConsoleInput.py
>>> import sys
>>> sys.stdout = open('outputRand.txt', 'w')
>>> print 'fjbdwogjbdog'
>>> sys.stdout.close()
The file sort example from the book
• Good example for top down design
• What if you had to sort a massive file that cannot possibly
be stored all in memory
• fileSort.py
Reading from a url
• Import urllib
• Urllib.urlopen(http://www.google.com)
• Only works on a subset of sites. Secure sites will usually
not allow you to grab info that easily.
• My seas website isn’t particularly secure ….
• getAllTAs.py
Download