Invalid Python syntax using file.write
Question: Trying to learn some geospatial python. More or less following the class notes
[here](http://www.gis.usu.edu/~chrisg/python/2009/lectures/ospy_slides1.pdf).

[My Code](http://pastebin.com/pp2b0CvF)

    
    
    #!/usr/bin/python
    
    # import modules
    import ogr, sys, os
    
    # set working dir
    os.chdir('/home/jacques/misc/pythongis/data')
    
    # create the text file we're writing to
    file = open('data_export.txt', 'w')
    
    # import the required driver for .shp
    driver = ogr.GetDriverByName('ESRI Shapefile')
    
    # open the datasource
    data = driver.Open('road_surveys.shp', 1)
    if data is None:
        print 'Error, could not locate file'
        sys.exit(1)
    
    # grab the datalayer
    layer = data.GetLayer()
    
    # loop through the features
    feature = layer.GetNextFeature()
    while feature:
    
        # acquire attributes
        id = feature.GetFieldAsString('Site_Id')
        date = feature.GetFieldAsString('Date')
    
        # get coordinates
        geometry = feature.GetGeometryRef()
        x = str(geometry.GetX())
        y = str(geometry.GetY()
    
        # write to the file
        file.Write(id + ' ' + x + ' ' + y + ' ' + cover + '\n')
    
        # remove the current feature, and get a new one
        feature.Destroy()
        feature = layer.GetNextFeature()
    
    # close the data source
    datasource.Destroy()
    file.close()
    

Running that gives me the following:

    
    
      File "shape_summary.py", line 38
        file.write(id + ' ' + x + ' ' + y + ' ' + cover + '\n')
           ^
    SyntaxError: invalid syntax
    

Running Python 2.7.1

Any help would be fantastic!


Answer: Previous line is missing a close parenthesis:

    
    
    y = str(geometry.GetY())
    

Also, just a style comment: it's a good idea to avoid using the variable name
`file` in python because it actually has a meaning. Try opening a new python
session and running `help(file)`

