Más

¿Obtiene múltiples pares de valores como parámetro de la herramienta Python Script?

¿Obtiene múltiples pares de valores como parámetro de la herramienta Python Script?


Probé varios tipos de datos diferentes, pero no puedo averiguar cómo permitir que un usuario cree una lista de pares de temperatura y elevación. Por ejemplo, una hoja de cálculo podría verse así:

¿Existe un tipo de datos de parámetro que permita al usuario especificar estos valores como pares?


Caja de herramientas de Python:

Si su secuencia de comandos está en una caja de herramientas de Python, puede usar una tabla de valores (GPValueTable).

def getParameterInfo (self): param0 = arcpy.Parameter (displayName = "Elevation and Temperature", name = "in_features", datatype = "GPValueTable", parameterType = "Required", direction = "Input") param0.columns = [[ 'Largo', 'Elevación'], ['Largo', 'Temperatura']]

Caja de herramientas normal:

Si su secuencia de comandos está en una caja de herramientas normal, puede utilizar un conjunto de registros.

Usar un conjunto de registros en una caja de herramientas normal es un poco más complicado de configurar, ya que debe crear una tabla nueva (vacía) para usarla como esquema para el parámetro Conjunto de registros. Lo que puede hacer es crear un nuevo archivo GDB junto con su secuencia de comandos, crear una tabla con campos de elevación y temperatura en esa GDB, luego agregar un parámetro de conjunto de registros a su secuencia de comandos y establecer la nueva tabla como el esquema de parámetros. También puede crear esta tabla en la memoria en el método de script ToolValidator.initializeParameters, pero no lo he intentado.

Puede acceder al conjunto de registros desde su script de esta manera (asumiendo que es el primer parámetro y el esquema tiene los campos "Elevación" y "Temperatura"; de lo contrario, ajuste el código a continuación en consecuencia):

import os, sys import json import arcpy elev_temp = json.loads (arcpy.GetParameter (0) .JSON) para rec en elev_temp ['características']: print rec ['atributos'] ['Elevación'], rec ['atributos ']['La temperatura']

Cómo pasar varias listas de argumentos a @ click.option

Quiero llamar a un script de Python a través de la línea de comando con este tipo de parámetro (la lista puede ser de cualquier tamaño, por ejemplo, con 3):

usando clic. De los documentos, no se indica en ninguna parte que podamos usar una lista como parámetro para @ click.option

Y cuando trato de hacer esto:

en mi test.py, llamándolo desde la línea de comando:

Error: tengo un argumento adicional inesperado (alguna opción 2])

Realmente no puedo usar argumentos variadic ya que solo se permite 1 argumento variadic por comando (http://click.pocoo.org/5/arguments/#variadic-arguments)

Entonces, si alguien puede indicarme la dirección correcta (preferiblemente usando un clic), sería muy apreciado.


El intérpretes El módulo se agregará a stdlib. Para ayudar a los autores de módulos de extensión, se agregará una nueva página a la extensión de documentos de Python. Más información sobre ambos se encuentra en las secciones siguientes.

El intérpretes El módulo proporcionará una interfaz de alto nivel a los subinterpretadores y envolverá una nueva interfaz de bajo nivel. _interpretadores (de la misma manera que el enhebrar módulo). Vea la sección de Ejemplos para casos de uso y usos concretos.

Además de exponer el soporte del subinterpretador existente (en CPython), el módulo también proporcionará un mecanismo para compartir datos entre intérpretes. Este mecanismo se centra en "canales", que son similares a las colas y conductos.

Tenga en cuenta que objetos no se comparten entre intérpretes ya que están vinculados al intérprete en el que fueron creados. En cambio, los objetos ' datos se pasa entre intérpretes. Consulte la sección Datos compartidos para obtener más detalles sobre cómo compartir entre intérpretes.

Al principio, solo se admitirán los siguientes tipos para compartir:

Más adelante se agregará soporte para otros tipos básicos (por ejemplo, bool, float, Ellipsis).


Objetos de mensaje

Una subclase del mensaje del módulo email.message. Subclases de buzón de correo: el mensaje agrega un estado y comportamiento específicos del formato de buzón.

Si mensaje se omite, la nueva instancia se crea en un estado vacío predeterminado. Si mensaje es una instancia de email.message.Message, su contenido se copia además, cualquier información específica del formato se convierte en la medida de lo posible si mensaje es una instancia de mensaje. Si mensaje es una cadena, una cadena de bytes o un archivo, debe contener un RFC 2822-mensaje compatible, que se lee y analiza. Los archivos deben estar abiertos en modo binario, pero se aceptan archivos en modo texto por compatibilidad con versiones anteriores.

El estado y los comportamientos específicos del formato que ofrecen las subclases varían, pero en general solo se admiten las propiedades que no son específicas de un buzón en particular (aunque presumiblemente las propiedades son específicas de un formato de buzón en particular). Por ejemplo, las compensaciones de archivo para formatos de buzón de un solo archivo y los nombres de archivo para formatos de buzón de correo basados ​​en directorio no se conservan, porque solo se aplican al buzón de correo original. Pero se conserva un estado como, por ejemplo, si el usuario ha leído un mensaje o si lo ha marcado como importante, porque se aplica al mensaje en sí.

No es necesario que se utilicen instancias de mensajes para representar mensajes recuperados mediante instancias de buzones de correo. En algunas situaciones, el tiempo y la memoria necesarios para generar representaciones de mensajes pueden no ser aceptables. Para tales situaciones, las instancias de buzón también ofrecen representaciones de cadenas y archivos, y se puede especificar una fábrica de mensajes personalizada cuando se inicializa una instancia de buzón.

MaildirMessage ¶

Un mensaje con comportamientos específicos de Maildir. Parámetro mensaje tiene el mismo significado que con el constructor de mensajes.


Detalles del proyecto

Enlaces de proyectos

Estadísticas

Ver estadísticas de este proyecto a través de Libraries.io o mediante nuestro conjunto de datos públicos en Google BigQuery

Licencia: Licencia de software Apache (Licencia Apache, versión 2.0)

Etiquetas Snowflake, db, base de datos, nube, análisis, almacén

Requiere: Python & gt = 3.6

Mantenedores

Clasificadores

  • Estado del desarrollo
    • 5 - Producción / Estable
    • Consola
    • Otro entorno
    • Desarrolladores
    • Educación
    • Tecnologías de la información
    • Administradores de sistemas
    • Aprobado por OSI :: Licencia de software Apache
    • Independiente del SO
    • Python :: 3.6
    • Python :: 3.7
    • Python :: 3.8
    • SQL
    • Base de datos
    • Científico / Ingeniería :: Análisis de información
    • Desarrollo de software
    • Desarrollo de software :: Bibliotecas
    • Desarrollo de software :: Bibliotecas :: Marcos de aplicaciones
    • Desarrollo de software :: Bibliotecas :: Módulos de Python

    ¿Obtiene múltiples pares de valores como parámetro de la herramienta Python Script? - Sistemas de Información Geográfica

    Secuencias de comandos de Python y PowerShell para la API REST de Dell EMC PowerEdge iDRAC con DMTF Redfish

    Scripts de muestra escritos en Python y PowerShell que ilustran el uso de la API REST de Dell Remote Access Controller (iDRAC) integrada con Redfish para administrar los servidores Dell EMC PowerEdge.

    En la actualidad, existen varios estándares de gestión de sistemas fuera de banda (OOB) disponibles en la industria. Sin embargo, no existe un estándar único que se pueda usar fácilmente dentro de los estándares de programación emergentes, que se pueda implementar fácilmente dentro de los sistemas integrados y que pueda satisfacer las demandas de los modelos de soluciones de TI en evolución de la actualidad. Los nuevos modelos de soluciones de TI han planteado nuevas demandas a las soluciones de gestión de sistemas para admitir una escala ampliada, una mayor seguridad y la apertura de múltiples proveedores, al mismo tiempo que se alinean con las herramientas y los procesos DevOps modernos. Al reconocer estas necesidades, Dell EMC y otros líderes de soluciones de TI dentro del Grupo de trabajo de administración distribuida (DMTF) emprendieron la creación de un nuevo estándar de interfaz de administración. Después de un esfuerzo de varios años, el nuevo estándar, Redfish v1.0, se anunció en julio de 2015.

    Los beneficios clave de la gallineta nórdica incluyen:

    • Mayor simplicidad y usabilidad
    • Conexiones encriptadas y mayor seguridad en general
    • Una interfaz programática que se puede controlar fácilmente a través de scripts.
    • Basado en estándares ampliamente utilizados para API web y formatos de datos

    Redfish ha sido diseñado para admitir la gama completa de arquitecturas de servidor, desde servidores monolíticos hasta infraestructura convergente y arquitectura de hiperescala. El modelo de datos de Redfish, que define la estructura y el formato de los datos que representan el estado del servidor, el inventario y las funciones operativas disponibles, es independiente del proveedor. Luego, los administradores pueden crear scripts de automatización de administración que pueden administrar cualquier servidor compatible con Redfish. Esto es crucial para el funcionamiento eficiente de una flota de servidores heterogénea.

    El uso de Redfish también tiene importantes beneficios de seguridad: a diferencia de los protocolos de administración heredados, Redfish utiliza el cifrado HTTPS para una comunicación segura y confiable. Todo el tráfico de red de Redfish, incluidas las notificaciones de eventos, se puede enviar cifrado a través de la red.

    Redfish proporciona un método altamente organizado y de fácil acceso para interactuar con un servidor utilizando herramientas de secuencias de comandos. La interfaz web empleada por Redfish es compatible con muchos lenguajes de programación y su estructura en forma de árbol hace que la información sea más fácil de localizar. Los datos devueltos de una consulta de Redfish se pueden convertir en un diccionario de búsqueda que consta de pares clave-valor. Al observar los valores en el diccionario, es fácil ubicar la configuración y el estado actual de un sistema administrado de Redfish. Esta configuración se puede actualizar y ejecutar acciones en uno o varios sistemas.

    Descripción general de iDRAC con Lifecycle Controller

    El controlador de acceso remoto integrado de Dell (iDRAC) está diseñado para mejorar la productividad de los administradores de servidores y mejorar la disponibilidad general de los servidores PowerEdge. iDRAC alerta a los administradores sobre problemas del servidor, lo que permite la administración remota del servidor y reduce la necesidad de que un administrador visite físicamente el servidor. iDRAC con Lifecycle Controller permite a los administradores implementar, actualizar, monitorear y administrar servidores Dell desde cualquier ubicación sin el uso de agentes en un método uno a uno o uno a muchos. Esta administración fuera de banda permite que los cambios de configuración y las actualizaciones de firmware se administren desde Dell EMC, las consolas de terceros adecuadas y las secuencias de comandos personalizadas directamente en iDRAC con Lifecycle Controller utilizando API estándar de la industria compatibles. Para admitir el estándar Redfish, iDRAC con Lifecycle Controller incluye compatibilidad con la API REST de iDRAC además de compatibilidad con las API estándar IPMI, SNMP y WS-Man. La API REST de iDRAC se basa en el estándar Redfish para proporcionar una interfaz RESTful para las operaciones de valor agregado de Dell EMC, que incluyen:

    • Información sobre todos los servicios fuera de banda de iDRAC con Lifecycle Controller: servidor web, SNMP, medios virtuales, SSH, Telnet, IPMI y KVM
    • Informes de subsistemas de almacenamiento ampliados que cubren controladores, gabinetes y unidades
    • Para el servidor modular PowerEdge FX2, información detallada del chasis que cubre las fuentes de alimentación, las temperaturas y los ventiladores
    • Con el módulo de servicio iDRAC (iSM) instalado en el sistema operativo del servidor, la API proporciona un inventario detallado y un informe de estado para las interfaces de red del host, incluidos detalles como la dirección IP, la máscara de subred y la puerta de enlace para el sistema operativo del host.

    Más información sobre iDRAC y Redfish

    Para obtener información completa sobre iDRAC con Lifecycle Controller, consulte los documentos en http://www.dell.com/idracmanuals.

    Para obtener una descripción general de la implementación de Redfish para iDRAC con Lifecycle Controller, consulte estos documentos técnicos de Dell EMC:

    Para obtener detalles sobre el estándar DMTF Redfish, visite https://www.dmtf.org/standards/redfish

    API REST de iDRAC con biblioteca de secuencias de comandos Redfish

    Esta biblioteca de GitHub contiene ejemplos de scripts de Python y PowerShell que ilustran el uso de la API REST de iDRAC con Redfish para realizar las siguientes acciones:

    • Obtener / establecer atributos de BIOS
    • Obtener / establecer el orden de arranque del BIOS, el estado de la fuente de arranque
    • Configurar el próximo dispositivo de arranque de una sola vez
    • Establecer BIOS a la configuración predeterminada
    • Cambiar una contraseña de usuario de iDRAC
    • Establecer iDRAC a la configuración predeterminada
    • Obtenga los registros de iDRAC Lifecycle Controller
    • Obtener / configurar iDRAC, Lifecycle Controller y atributos del sistema
    • Exportar / Importar perfil de configuración del servidor (SCP)
    • Vista previa de la importación de SCP
    • Obtener / establecer el estado de energía del servidor
    • Obtener el inventario de almacenamiento del servidor
    • Servidores PowerEdge 12G / 13G / 14G
    • Mínimo iDRAC 7/8 FW 2.40.40.40, iDRAC9 FW 3.00.00.00
    • Python 2.xo posterior
    • PowerShell 5.0 o posterior

    Tenga en cuenta que este código se proporciona tal cual y actualmente no es compatible con Dell EMC.

    Informar problemas o proporcionar comentarios

    Si tiene algún problema o desea enviar comentarios, abra un problema aquí https://github.com/dell/idrac-Redfish-Scripting/issues


    Puede configurar notificaciones de cambios e invocar acciones automatizadas tanto para parámetros como para políticas de parámetros. Para obtener más información, consulte Configuración de notificaciones o acciones de activación basadas en eventos de Parameter Store.

    Organizar y controlar el acceso

    Puede etiquetar sus parámetros individualmente para ayudarlo a identificar uno o más parámetros según las etiquetas que les haya asignado. Por ejemplo, puede etiquetar parámetros para entornos, departamentos, usuarios, grupos o períodos específicos. También puede restringir el acceso a los parámetros creando una política de AWS Identity and Access Management (IAM) que especifique las etiquetas a las que puede acceder un usuario o grupo. Para obtener más información, consulte Etiquetado de los parámetros de Systems Manager.

    Puede asociar un alias para las versiones de su parámetro creando etiquetas. Las etiquetas pueden ayudarlo a recordar el propósito de una versión de parámetro cuando hay varias versiones.

    Puede crear parámetros que apunten a una instancia de Amazon Elastic Compute Cloud (Amazon EC2) y Parameter Store valida estos parámetros para asegurarse de que hace referencia al tipo de recurso esperado, que el recurso existe y que el cliente tiene permiso para usar el recurso. Por ejemplo, puede crear un parámetro con el ID de imagen de máquina de Amazon (AMI) como un valor con el tipo de datos aws: ec2: image, y Parameter Store realiza una operación de validación asincrónica para asegurarse de que el valor del parámetro cumpla con los requisitos de formato para una AMI. ID y que la AMI especificada esté disponible en su cuenta de AWS.

    Parameter Store está integrado con AWS Secrets Manager para que pueda recuperar secretos de Secrets Manager cuando utilice otros servicios de AWS que ya admiten referencias a los parámetros de Parameter Store.

    Accesible desde otros servicios de AWS

    Puede usar los parámetros de Parameter Store con otras capacidades de Systems Manager y servicios de AWS para recuperar secretos y datos de configuración de un almacén central. Los parámetros funcionan con las capacidades de Systems Manager como Run Command, Automation y State Manager, capacidades de AWS Systems Manager. También puede hacer referencia a parámetros en varios otros servicios de AWS, incluidos los siguientes:


    ¿Cómo agregar un elemento a una clave en un diccionario con Python?

    Podemos hacer uso de la función incorporada append () para agregar elementos a las claves en el diccionario. Para agregar un elemento usando append () al diccionario, primero tenemos que encontrar la clave a la que necesitamos agregar.

    Considere que tiene un diccionario de la siguiente manera:

    Las claves del diccionario son Nombre, Dirección y Edad. Usando el métodoappend () podemos actualizar los valores de las claves en el diccionario.

    Cuando imprimimos el diccionario después de actualizar los valores, el resultado es el siguiente:


    Opciones de rango

    Una mención especial debe ir al tipo IntRange, que funciona de manera muy similar al tipo INT, pero restringe el valor para que caiga en un rango específico (inclusive en ambos bordes). Tiene dos modos:

    el modo predeterminado (modo sin sujeción) donde un valor que cae fuera del rango provocará un error.

    un modo de sujeción opcional en el que se bloqueará un valor que esté fuera del rango. Esto significa que un rango de 0-5 devolvería 5 para el valor 10 o 0 para el valor -1 (por ejemplo).

    Y desde la línea de comando:

    Si pasa Ninguno para cualquiera de los bordes, significa que el rango está abierto en ese lado.


    Ver el vídeo: Variación Con repetición y Sin repetición. Ejemplo 1