Opening Files in Python
So right now I am learning how to open and read files in Python, which is exercise 15. Apparently, it gets super hard around the 30 exercise mark. I am looking forward to the challenge, however.
So I am working through exercise 15. The text file we are to open and read in python contains some arbitrary text. We are still working with argument variables and the command raw_input(), but we’re throwing in the argv
with another command
which just opens the file taking a parameter which returns a value, kind of like raw_input, that you can set to any variable you want, according to pydoc (which is the document system built into python– excellent resource, aside from Dash).
Here is the script I wrote:
from sys import argv script, filename = argv txt = open(filename) print “Here’s your file %r:” % filename print txt.read() print “Type the filename again:” file_again = raw_input(“> ”) txt_again = open(file_again) print txt_again.read()
Here is my script with the comments I wrote, an annotation that Zed Shaw encourages.
#Grabs the sys module and the argv variable inside that module from sys import argv #sets the argument variables to script and filemane</h1> script, filename = argv # when we type the script into the terminal, # you have to type in the filename as well that you want to open. # This filename must be an arguement variable when you run the python script. # txt indicates that it is a txt file. Open(filenmae) calls the argument variable # that we specified was ex15_sample.txt # and opens it, taking a parameter and returning a value you can set as your own value, # much like raw_input txt = open(filename) # this line prints out text and opens an formatter which is the argument variable filename. print “Here’s your file %r:” % filename # here we call a function on the text file which is read(). # To give a file a command you use the dot and and function so txt.read() opens the file without getting any parameters. print txt.read() #this line prints this line of text in the script in terminal print “Type the filename again:” # this is another prompt with raw_input # and the caret assigned to the variable file_again. # You must type in the name of the text file again # or python will throw an error file_again = raw_input(“> ”) # this line uses the open command to open the txt file again txt_again = open(file_again) # this line uses the function read() which is part of the command you’re giving the file txt_again.read(). It will then read and print the contents of the file. print txt_again.read()