title: Cannot write to text file python 2.7 invalid syntax?
body: <p>My code works perfectly, but I want it to write the values to a text file. When I try to do it, I get 'invalid syntax'. When I use a python shell, it works. So I don't understand why it isn't working in my script.</p>
  
  <p>I bet it's something silly, but why wont it output the data to a text file??</p>
  
  <pre><code>#!/usr/bin/env python
  
  #standard module, needed as we deal with command line args
  import sys
  
  from fractions import Fraction
  import pyexiv2
  
  
  #checking whether we got enough args, if not, tell how to use, and exits
  #if len(sys.argv) != 2 :
  #    print "incorrect argument, usage: " + sys.argv[0] + ' &lt;filename&gt;'
  #    sys.exit(1)
  
  #so the argument seems to be ok, we use it as an imagefile 
  imagefilename = sys.argv[1]
  
  
  
  #trying to catch the exceptions in case of problem with the file reading
  try:
      metadata = pyexiv2.metadata.ImageMetadata(imagefilename)
      metadata.read();
  
  #trying to catch the exceptions in case of problem with the GPS data reading
      try:
          latitude = metadata.__getitem__("Exif.GPSInfo.GPSLatitude")
          latitudeRef = metadata.__getitem__("Exif.GPSInfo.GPSLatitudeRef")
          longitude = metadata.__getitem__("Exif.GPSInfo.GPSLongitude")
          longitudeRef = metadata.__getitem__("Exif.GPSInfo.GPSLongitudeRef")
  
          # get the value of the tag, and make it float number
          alt = float(metadata.__getitem__("Exif.GPSInfo.GPSAltitude").value)
  
  
          # get human readable values
          latitude = str(latitude).split("=")[1][1:-1].split(" ");
          latitude = map(lambda f: str(float(Fraction(f))), latitude)
          latitude = latitude[0] + u"\u00b0" + latitude[1] + "'" + latitude[2] + '"' + " " + str(latitudeRef).split("=")[1][1:-1]
  
          longitude = str(longitude).split("=")[1][1:-1].split(" ");
          longitude = map(lambda f: str(float(Fraction(f))), longitude)
          longitude = longitude[0] + u"\u00b0" + longitude[1] + "'" + longitude[2] + '"' + " " + str(longitudeRef).split("=")[1][1:-1]
  
          ## Printing out, might need to be modified if other format needed
          ## i just simple put tabs here to make nice columns
      print " \n A text file has been created with the following information \n"
      print "GPS EXIF data for " + imagefilename    
          print "Latitude:\t" + latitude 
          print "Longitude:\t" + longitude
          print "Altitude:\t" + str(alt) + " m"
      except Exception, e:  # complain if the GPS reading went wrong, and print the exception
          print "Missing GPS info for " + imagefilename
          print e
  
  # Create a new file or **overwrite an existing file**
  text_file = open('textfile.txt', 'w')
  text_file.write("Latitude" + latitude)
  # Close the output file
  text_file.close()
  
  
  except Exception, e:   # complain if the GPS reading went wrong, and print the exception
      print "Error processing image " + imagefilename
      print e;
  </code></pre>
  
  <p>The error I see says: </p>
  
  <pre><code>text_file = open('textfile.txt','w')
          ^
  SyntaxError: invalid syntax
  </code></pre>