Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Formato de archivo RST: archivo de texto reestructurado #2

Open
231414806 opened this issue Apr 2, 2024 · 0 comments
Open

Formato de archivo RST: archivo de texto reestructurado #2

231414806 opened this issue Apr 2, 2024 · 0 comments

Comments

@231414806
Copy link

231414806 commented Apr 2, 2024


INTRODUCCIÓN


Este manual de referencia describe el lenguaje de programación Python. No está pensado como un tutorial.

Si bien intento ser lo más preciso posible, prefiero usar inglés en lugar de especificaciones formales para todo, excepto para la sintaxis y el análisis léxico. Esto debería hacer que el documento sea más comprensible para el lector promedio, pero dejará espacio para ambigüedades. En consecuencia, si vinieras de Marte e intentaras implementar Python solo a partir de este documento, es posible que tengas que adivinar cosas y, de hecho, probablemente terminarías implementando un lenguaje bastante diferente. Por otro lado, si estás usando Python y te preguntas cuáles son las reglas específicas sobre un área particular del lenguaje, definitivamente deberías poder encontrarlas aquí. Si deseas ver una definición más formal del lenguaje, tal vez puedas dedicar algo de tu tiempo... ¡O inventar una máquina de clonación!

Es peligroso agregar demasiados detalles de implementación a un documento de referencia de lenguaje, ya que la implementación puede cambiar y otras implementaciones del mismo lenguaje pueden funcionar de manera diferente. Por otro lado, CPython es la implementación de Python más utilizada (aunque las implementaciones alternativas siguen ganando apoyo) y sus peculiaridades particulares a veces valen la pena mencionar, especialmente cuando la implementación impone limitaciones adicionales.

Cada implementación de Python viene con una serie de funciones y módulos estándar incorporados. Estos están documentados en la biblioteca estándar de Python. Algunos módulos integrados se mencionan cuando interactúan de manera significativa con la definición del lenguaje.

Implementaciones alternativas

Aunque hay una implementación de Python que es, con mucho, la más popular, existen algunas implementaciones alternativas que son de particular interés para diferentes audiencias.

Entre las implementaciones conocidas se incluyen:

  • CPython: Esta es la implementación original y más mantenida de Python, escrita en C. Por lo general, las nuevas características del lenguaje aparecen aquí primero.
  • Jython: Python implementado en Java. Esta implementación se puede utilizar como un lenguaje de script para aplicaciones Java, o se puede utilizar para crear aplicaciones utilizando las bibliotecas de clases de Java. También se utiliza a menudo para crear pruebas para bibliotecas Java. Puedes encontrar más información en el sitio web de Jython.
  • Python para .NET: Esta implementación utiliza la implementación de CPython, pero es una aplicación .NET y proporciona bibliotecas .NET. Fue creado por Brian Lloyd. Para obtener más información, consulta el sitio web de Python para .NET.
  • IronPython: Un Python alternativo para .NET. A diferencia de Python para .NET, esta es una implementación completa de Python que genera IL y compila código Python directamente en ensamblados .NET. Fue creado por Jim Hugunin, el creador original de Jython. Para obtener más información, consulta el sitio web de IronPython.
  • PyPy: Una implementación de Python escrita completamente en Python. Admite varias características avanzadas que no se encuentran en otras implementaciones, como el soporte sin pila y un compilador Just in Time. Uno de los objetivos del proyecto es fomentar la experimentación con el propio lenguaje al facilitar la modificación del intérprete (ya que está escrito en Python). Puedes encontrar información adicional en la página de inicio del proyecto PyPy.

Cada una de estas implementaciones varía de alguna manera con respecto al lenguaje documentado en este manual, o introduce información específica más allá de lo que se cubre en la documentación estándar de Python. Consulta la documentación específica de cada implementación para determinar qué más necesitas saber sobre la implementación que estás utilizando.

Notación

Las descripciones del análisis léxico y la sintaxis utilizan una notación gramatical de la forma Backus-Naur (BNF). Para ello se utiliza el siguiente estilo de definición:

- name ::= lc_letter (lc_letter | "_")*
- lc_letter ::= "a"..."z"

La primera línea indica que un 'name' es una 'lc_letter' seguida de una secuencia de cero o más 'lc_letters' y guiones bajos. Un 'lc_letter' es cualquier carácter individual de 'a' a 'z'.
Esta regla se utiliza en el contexto de la notación gramatical Backus-Naur (BNF) para describir la sintaxis del lenguaje Python. En esta notación, se establece que un 'name' debe comenzar con una 'lc_letter', que es cualquier carácter individual en minúscula del alfabeto inglés de 'a' a 'z'. A partir de ahí, puede haber una secuencia de cero o más 'lc_letters' y guiones bajos ('_'). Esto significa que un 'name' válido en Python puede estar formado por letras minúsculas y guiones bajos, pero debe comenzar con una letra minúscula. Esta regla se aplica para definir la estructura y los nombres de identificadores en Python.

En términos más sencillos, esta regla de la notación Backus-Naur (BNF) para Python dice que un 'name' (nombre) en Python debe comenzar con una letra minúscula ('lc_letter'), que puede ser cualquier letra de 'a' a 'z'. Después de la primera letra, el nombre puede contener cualquier número de letras minúsculas y guiones bajos ('_'). Por lo tanto, un nombre válido en Python podría ser, por ejemplo, 'variable_de_python'. Esta regla es importante para definir correctamente los identificadores en Python.

Función Dir (Visual Basic para Aplicaciones) | Microsoft Learn

En Visual Basic para Aplicaciones (VBA), puedes utilizar la función Dir para obtener los nombres de directorios y subdirectorios. Aquí tienes algunas consideraciones al respecto:

  1. Función Dir:
    • La función Dir devuelve una cadena que representa el nombre de un archivo, directorio o carpeta que coincide con un modelo especificado o atributo de archivo, o la etiqueta de volumen de una unidad.
    • Sintaxis: Dir([ruta], [atributos])
      • ruta (opcional): Expresión de cadena que especifica un nombre de archivo, directorio o carpeta, incluyendo la unidad. Si no se encuentra la ruta de acceso, se devuelve una cadena de longitud cero ("").
      • atributos (opcional): Constante o expresión numérica que especifica atributos de archivo. Si se omite, se devuelven archivos que coinciden con la ruta de acceso pero no tienen ningún atributo.
    • Los atributos disponibles incluyen
`vbNormal`, `vbReadOnly`, `vbHidden`, `vbSystem`, `vbVolume`, `vbDirectory` y `vbAlias`

Cómo encontrar un directorio y subdirectorio en VBA

  • Puedes usar caracteres comodín (como * y ?) para especificar varios archivos en Windows y macOS, pero ten en cuenta que en Macintosh no se admite el uso de caracteres comodín. En su lugar, utiliza el tipo de archivo para identificar grupos de archivos.
  • Para procesar una iteración en todos los archivos de una carpeta, especifica una cadena vacía: Dir().
  • Si usas la función MacID con Dir en Windows, se producirá un error. Cualquier valor de atributo superior a 256 se considera un valor MacID.
  • Debes especificar la ruta de acceso la primera vez que llames a la función Dir; de lo contrario, se producirá un error. Para obtener nombres de archivo adicionales que coincidan con la ruta de acceso, vuelve a llamar a Dir sin argumentos. Cuando ya no coincidan más nombres de archivo, Dir devolverá una cadena de longitud cero ("").

Cómo: Buscar subdirectorios con un modelo concreto en Visual Basic

  1. Búsqueda de subdirectorios:
    • Si deseas incluir el contenido de subdirectorios en la búsqueda, establece el parámetro searchType en SearchOption.SearchAllSubDirectories.
    • Para obtener una colección de archivos de un directorio, puedes usar la sobrecarga GetFiles con opciones de búsqueda, incluyendo la búsqueda en subdirectorios.

ref.


Visicalc.png

Otras formas de buscar subdirectorios en Excel utilizando VBA. Aquí tienes algunas alternativas:

  1. Usar la función FileSystemObject:

    • El objeto FileSystemObject proporciona una interfaz para trabajar con archivos y carpetas en VBA.
    • Puedes crear una instancia de FileSystemObject y luego utilizar sus métodos para buscar subdirectorios.
    • Ejemplo de búsqueda de subdirectorios:
      Sub BuscarSubdirectorios()
          Dim fso As Object
          Dim carpetaRaiz As Object
          Dim carpeta As Object
          
          ' Crea una instancia de FileSystemObject
          Set fso = CreateObject("Scripting.FileSystemObject")
          
          ' Ruta de la carpeta raíz
          Set carpetaRaiz = fso.GetFolder("C:\Ruta\A\Tu\Carpeta\Raiz")
          
          ' Recorre todos los subdirectorios
          For Each carpeta In carpetaRaiz.SubFolders
              Debug.Print carpeta.Path
          Next carpeta
      End Sub
    • Asegúrate de ajustar la ruta de la carpeta raíz según tus necesidades.
  2. Utilizar la función Shell para ejecutar comandos del sistema operativo:

    • Puedes ejecutar comandos del sistema operativo desde VBA utilizando la función Shell.
    • Por ejemplo, puedes usar el comando dir para listar los subdirectorios en una ubicación específica:
      Sub ListarSubdirectorios()
          Dim ruta As String
          Dim comando As String
          
          ' Ruta de la carpeta raíz
          ruta = "C:\Ruta\A\Tu\Carpeta\Raiz"
          
          ' Comando para listar subdirectorios
          comando = "cmd /c dir """ & ruta & """ /ad /b /s"
          
          ' Ejecuta el comando y muestra los resultados
          Shell comando, vbNormalFocus
      End Sub
    • Este método utiliza el comando dir con las opciones /ad (solo directorios), /b (solo nombres) y /s (incluye subdirectorios).

Recuerda adaptar estas soluciones a tus necesidades específicas y la estructura de tus directorios. Si tienes más preguntas o necesitas más ejemplos, no dudes en preguntar. 📂👩‍💻

@231414806 231414806 reopened this Apr 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant