Más

ArcGIS 10.2.1 arcpy manejo de estilos de comillas

ArcGIS 10.2.1 arcpy manejo de estilos de comillas


Me han hecho una pregunta que creo que se debe a una combinación de comillas, sin embargo, no puedo decir específicamente por qué esto es así en el siguiente ejemplo. Me pregunto si alguien ha tenido un problema similar.

Se ha escrito una pequeña cantidad de código (con la cadena copiada y pegada), que termina en un mensaje de error de sintaxis no válido. p.ej.

>>> para conjunto de datos en datasetList: ... imprimir conjunto de datos + "" + "Conjunto de datos" ... Error de análisis SyntaxError: sintaxis no válida (línea 2)

Arriba puede ver que parece haber una combinación de comillas en términos de fuente, pero no puedo ver por qué eso es importante, ya que ambas son comillas dobles.

¿Por qué el software no puede interpretar diferentes fuentes del mismo símbolo de teclado?

Mi respuesta al usuario es asegurarme de que todas las comillas sean coherentes con "o".

Para probar, edité el código y funciona sin un error de sintaxis ...

>>> para conjunto de datos en datasetList: ... imprimir conjunto de datos + "" + "Conjunto de datos" ... Cultura Conjunto de datos Activos Conjunto de datos Tuberías Conjunto de datos Wells Conjunto de datos AerialPhoto Conjunto de datos

También probé el uso de diferentes estilos de comillas (por ejemplo, ') para ver si el problema se debía a una combinación de comillas que se usaban. Terminé con dos ediciones exitosas del código:

>>> para conjunto de datos en datasetList: ... imprimir conjunto de datos, 'Conjunto de datos' ... Cultura Conjunto de datos Activos Conjunto de datos Tuberías Conjunto de datos Conjunto de datos de pozos Conjunto de datos de fotografía aérea

y

>>> para conjunto de datos en datasetList:… imprimir conjunto de datos + "+ 'Conjunto de datos' ... Cultura Conjunto de datos Activos Conjunto de datos Tuberías Conjunto de datos Pozos Conjunto de datos AerialPhoto Conjunto de datos

Curiosamente, esto no parece ser un problema cuando se usan versiones posteriores de ArcGIS, es decir, 10.2.2 y 10.3, pero tal vez esto sea una consecuencia del uso de comillas adecuadas como se supone que el software maneja este problema específico.

¿Alguien más se ha encontrado con este problema y, de ser así, cuál es la razón por la que la computadora no ve "y" como el mismo símbolo?


Mi respuesta al usuario es asegurarme de que todas las comillas sean coherentes con "o".

Esa es la respuesta. Pero para explicar el código defectuoso, debe comprender que "la computadora" no tiene el problema, es su suposición de que dos cosas que nombra de manera similar son idénticas.

Intente mirar a través de los ojos de Python y vea si sus citas son las mismas: https://stackoverflow.com/a/227472/4986638

TLDR: prueba usando ord ('"'), ord ('“'), ord ('”'), ord (")


Su pregunta también podría ser: ¿Por qué el código que copié y pegué desde (lo que supongo es) MS Word no funciona en mi script? MS Word, y presumiblemente otros procesadores de texto, convierte automáticamente "en" o "para que se vea bien, al igual que pone en mayúscula automáticamente la primera letra de una nueva oración. Pero, como ha descubierto a través de algunas pruebas exhaustivas , así como D es un carácter completamente diferente de d, también lo son "y" diferentes, o, para el caso, "y".

Por lo tanto, su consejo es exactamente correcto: nunca use "o", siempre use "y". El consejo corolario es este: nunca edite código en un procesador de texto, siempre use un programa creado para la edición de código, como IDLE (muy básico con Python / ArcGIS), Notepad ++ (funciona para muchos lenguajes diferentes) o PyScripter (específicamente para Python).


"Y" no son comillas en el sentido normal. Son caracteres Unicode: http://www.fileformat.info/info/unicode/char/201c/index.htm http://www.fileformat.info/info/unicode/char/201d/index.htm

No se pueden usar indistintamente con comillas simples y dobles en Python. A menudo aparecen al copiar y pegar productos de Microsoft, ya que las comillas dobles se convierten en estos productos en estos caracteres Unicode.


Tenga en cuenta que Apple ha cambiado recientemente la forma en que OS X y TextEdit manejan las cotizaciones. Las operaciones simples de copiar y pegar pueden producir citas ilegibles (para Python). http://www.iclarified.com/38772/how-to-disable-curly-quotes-in-mac-os-x-mavericks


Ver el vídeo: Instalación de ArcGIS. Video 01