Esas funciones comunes de los módulos del sistema operativo que debes conocer (con variables integradas)

módulo de sistema operativo

Este módulo proporciona varias funciones que le permiten manipular rutas de archivos y verificar información relacionada con las rutas, como la existencia, la extensión del archivo, el nombre del directorio y más.

1.1 Funciones de uso común

Algunas de las funciones comúnmente utilizadas incluyen:

  1. os.path.join(*paths): Esta función se utiliza para conectar inteligentemente uno o más componentes de ruta . Acepta múltiples argumentos y devuelve una nueva cadena de ruta concatenada con separadores de ruta apropiados, que pueden variar según el sistema operativo subyacente.

  2. os.path.abspath(path): Esta función devuelve la versión de ruta absoluta de la ruta especificada . Resolverá cualquier enlace simbólico y reemplazará las rutas relativas con rutas absolutas.

  3. os.path.exists(path): Esta función verifica si la ruta dada existe en el sistema de archivos y regresa si existe True; de lo contrario regresa False.

  4. os.path.isdir(path): Devuelve si la ruta especificada apunta a un directorio existente; Trueen caso contrario False.

  5. os.path.isfile(path): Devuelve si la ruta especificada apunta a un archivo existente; Trueen caso contrario False.

  6. os.path.basename(path): Devuelve el nombre base de la ruta , es decir, el último componente de la ruta,Generalmente utilizado para representar nombres de archivos.

  7. os.path.dirname(path): Devuelve el nombre del directorio de la ruta, es decir, todas las partes de la ruta excepto el último componente.

  8. os.path.splitext(path): divide la ruta en una tupla (root, ext), donde rootestá la parte sin la extensión, extpero sí la extensión del archivo (incluido el punto).

1.2 Ejemplos de uso

A continuación se muestra os.pathun ejemplo de cómo utilizarlo:

import os

path = "/home/user/documents/sample.txt"

print("拼接后的路径:", os.path.join("/home", "user", "documents", "file.txt"))
print("绝对路径:", os.path.abspath(path))
print("路径是否存在?", os.path.exists(path))
print("是一个目录?", os.path.isdir(path))
print("是一个文件?", os.path.isfile(path))
print("文件基本名称:", os.path.basename(path))
print("目录名:", os.path.dirname(path))
print("拆分扩展名:", os.path.splitext(path))

1.3 Variables integradas

Las variables integradas no pertenecen a esta sección, pero a menudo se usan junto con el módulo os.path. Por lo tanto, se han agregado variables integradas a esta sección.

  1. __name__: Indica el nombre del módulo actual. Cuando el módulo se ejecuta directamente, __name__el valor es '__main__'; cuando se importa el módulo, __name__el valor es el nombre del módulo.

  2. __file__: es una de las variables integradas especiales que representa la ruta del archivo del módulo (o script) actual.

  3. __doc__: Representa la cadena de documentación del módulo actual (o función, clase). Una cadena de documentación es una cadena que precede a una definición de módulo, función o clase y proporciona una breve descripción y explicación del módulo, función o clase.

  4. __package__: Indica el nombre del paquete al que pertenece el módulo actual. Para módulos de nivel superior (módulos que no son paquetes), __package__el valor es None.

  5. __builtins__: es un diccionario que contiene las funciones integradas, excepciones y otros objetos integrados de Python.

  6. __loader__: Representa el objeto del cargador de módulos que carga el módulo actual.

  7. __spec__: Representa el objeto de especificación (ModuleSpec) del módulo actual. El objeto de especificación contiene metadatos sobre el módulo, como rutas de archivos, información del paquete, etc.

  8. __annotations__: Se utiliza para almacenar información de anotación de tipo de variables.

  9. __cached__: Solo disponible en modo compilado, representa la ruta del archivo de caché del módulo actual.

  10. __package__: Indica el nombre del paquete al que pertenece el módulo actual.

  11. __class__: Se utiliza en clases para indicar la clase a la que pertenece la instancia actual.

1.4 Apéndice: Explicación detallada de las variables integradas

  1. __name__:
    __name__Indica el nombre del módulo actual . Cuando el módulo se ejecuta directamente, __name__el valor es '__main__'; cuando se importa el módulo, __name__el valor es el nombre del módulo.

    Ejemplo:
    Supongamos que tenemos un example_module.pyarchivo de módulo llamado con el siguiente código:

    # example_module.py
    
    def hello():
        print("Hello from example_module!")
    
    print("Module name:", __name__)
    
    if __name__ == "__main__":
        hello()
    

    Cuando lo ejecutamos directamente example_module.py, el resultado será:

    Module name: __main__
    Hello from example_module!
    

    Cuando importemos en otro script example_module.py, el resultado será:

    Module name: example_module
    
  2. __file__:
    __file__Indica la ruta del archivo del módulo (o script) actual. Es una variable incorporada que se utiliza para obtener la ruta absoluta del archivo del script Python actual.

    En Python, cuando se ejecuta un script (módulo), el intérprete de Python almacena la ruta absoluta del archivo del script en una __file__variable. Esto nos permite obtener la ruta del archivo del script actual en el código, de modo que podamos manipular el archivo donde se encuentra el script o encontrar la ruta del archivo de recursos.

    Aviso:__file____file__Solo disponible en archivos de script, pero no definido en intérpretes interactivos o código que ejecuta directamente el intérprete.

    El siguiente es un __file__ejemplo de uso para obtener la ruta del archivo de script actual:

    Digamos que tenemos un example_script.pyarchivo de script llamado con el siguiente código:

    # example_script.py
    
    import os
    
    current_script_path = os.path.abspath(__file__)
    print("当前脚本文件路径:", current_script_path)
    

    Cuando lo ejecutamos directamente example_script.py, el resultado será:

    当前脚本文件路径: /path/to/example_script.py
    
  3. __doc__:
    __doc__Representa la cadena de documentación del módulo actual (o función, clase). Una cadena de documentación es una cadena que precede a una definición de módulo, función o clase y proporciona una breve descripción y explicación del módulo, función o clase.

    Ejemplo:
    en lo anterior example_module.py, podemos agregar una cadena de documentación para describir la funcionalidad del módulo:

    # example_module.py
    
    """This is an example module."""
    
    def hello():
        """Prints a greeting message."""
        print("Hello from example_module!")
    
    print("Module name:", __name__)
    
    if __name__ == "__main__":
        hello()
    

    En el intérprete interactivo de Python, podemos __doc__ver la cadena de documentación del módulo accediendo a:

    import example_module
    
    print(example_module.__doc__)
    

    Producción:

    This is an example module.
    
  4. __package__:
    __package__Indica el nombre del paquete al que pertenece el módulo actual.

    Ejemplo:
    supongamos que tenemos una estructura de paquete como se muestra a continuación:

    my_package/
    │── __init__.py
    │── module_a.py
    └── subpackage/
        │── __init__.py
        └── module_b.py
    

    En module_b.py, podemos __package__obtener el nombre del paquete usando:

    # module_b.py
    
    print("Package name:", __package__)
    

    Cuando importemos module_b.py, la salida será:

    Package name: my_package.subpackage
    
  5. __builtins__:
    __builtins__es un diccionario que contiene las funciones integradas, excepciones y otros objetos integrados de Python.

    Ejemplo:
    podemos __builtins__acceder a algunas funciones integradas como print()y usando len():

    print("Built-in print function:", __builtins__.print)
    print("Built-in len function:", __builtins__.len)
    

    Producción:

    Built-in print function: <built-in function print>
    Built-in len function: <built-in function len>
    

    __builtins__Por lo general, no se usa directamente porque las funciones y objetos integrados ya son accesibles globalmente.

  6. __loader__:
    __loader__Representa el objeto del cargador de módulos que carga el módulo actual.

    Ejemplo:
    Podemos acceder dentro de un módulo __loader__para saber qué cargador cargó el módulo:

    # example_module.py
    
    print("Module loader:", __loader__)
    

    El resultado suele mostrar el tipo de cargador e información relacionada.

  7. __spec__:
    __spec__Representa el objeto de especificación (ModuleSpec) del módulo actual. El objeto de especificación contiene metadatos sobre el módulo, como rutas de archivos, información del paquete, etc.

    Ejemplo:
    Podemos acceder a un módulo __spec__para comprender la información de especificación del módulo:

    # example_module.py
    
    print("Module specification:", __spec__)
    

    La salida normalmente muestra las propiedades y la información relacionada del objeto de especificación.

  8. __annotations__:
    __annotations__Se utiliza para almacenar información de anotación de tipo de variables.

    Ejemplo:
    supongamos que tenemos una función que usa anotaciones de tipo:

    def add(a: int, b: int) -> int:
        return a + b
    
    print("Annotations:", __annotations__)
    

    Producción:

    Annotations: {'a': <class 'int'>, 'b': <class 'int'>, 'return': <class 'int'>}
    

    __annotations__Almacena la información de tipo de parámetros y valores de retorno.

  9. __cached__:
    __cached__Solo disponible en modo compilado, lo que indica la ruta del archivo de caché del módulo actual. Cuando el intérprete de Python ejecuta un módulo, almacena en caché el código de bytes del módulo en el disco duro para que pueda cargarse rápidamente la próxima vez.

    Ejemplo:
    después de ejecutar el módulo en modo compilado, puede __cached__ver la ruta al archivo almacenado en caché accediendo a:

    # example_module.py
    
    print("Cached file path:", __cached__)
    

    El resultado suele mostrar la ruta al archivo almacenado en caché.

  10. __package__:
    __package__Indica el nombre del paquete al que pertenece el módulo actual.

  11. __class__:
    __class__Se utiliza en clases para indicar la clase a la que pertenece la instancia actual.

    Ejemplo:
    digamos que tenemos una clase Person:

    class Person:
        def __init__(self, name, age):
            self.name = name
            self.age = age
    
        def say_hello(self):
            print(f"Hello, I'm {
            
            self.name}.")
    
    person = Person("Alice", 30)
    print(person.__class__)
    

    Producción:

    <class '__main__.Person'>
    

    __class__Devuelve Personel tipo de objeto de la clase.

Supongo que te gusta

Origin blog.csdn.net/qq_44824148/article/details/131877668
Recomendado
Clasificación