Попытка изучить некоторый геопространственный питон. Более или менее соответствует примечаниям класса here.Недействительный синтаксис Python с использованием file.write
#!/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, что дает мне следующее:
File "shape_summary.py", line 38
file.write(id + ' ' + x + ' ' + y + ' ' + cover + '\n')
^
SyntaxError: invalid syntax
Запуск Python 2.7.1
Любая помощь будет фантастическим!
@eyquem - как 'file', так и' id' широко используются в стандартной библиотеке Python, несмотря на будучи встроенными функциями - они очень полезные и описательные имена. 'file' был удален в Python 3 и обычно не используется даже в Python 2, поэтому очень мало причин его избежать. Кроме того, OP четко понимает английский язык, а также _lingua franca_ Stack Overflow, поэтому, пожалуйста, напишите комментарии на английском языке, чтобы каждый мог их понять. На самом деле не было никаких оснований повторять комментарий Foo Bah на французском языке. – agf