Articles of argumentos de

Leer del archivo, o STDIN

He escrito una utilidad de línea de comandos que usa getopt para analizar los argumentos dados en la línea de comandos. También me gustaría que un nombre de archivo sea un argumento opcional, como lo es en otras utilidades como grep, cortar, etc. Por lo tanto, me gustaría que tenga el siguiente uso tool -d […]

¿Hay alguna forma de saber si el valor de un argumento es el predeterminado frente al especificado por el usuario?

Estoy buscando algo que funcione como las variables arg-supply-p de Lisp, para ayudar a diferenciar un valor predeterminado del mismo valor especificado por un usuario. Ejemplo: def foo(a=10): pass Me gustaría saber en foo si fue llamado así: foo() o así: foo(10) o incluso así: foo(a=10) Los 2 últimos son suficientes para mí; No necesito […]

Especificar argumentos con espacios para ejecutar un script de python

¿Cómo ejecutar un python con argumentos que contendrían espacios? Estoy usando macos Por ejemplo, >python testProgram.py argument 1 argument 2 donde “argumento 1” es un solo argumento?

Cómo pasar argumentos predefinidos al almacenar una función

¿Es posible almacenar una función con argumentos predefinidos para ser llamados por otra función? Por ejemplo: def function(num): print num trigger=function #store function(1) trigger() #prints 1 trigger=function #store function(2) trigger() #prints 2 Activar llamadas lo que sea almacenado sin pasar ningún argumento. Puedo cambiar el activador, pero eso requeriría que reescribiera la función que llama […]

Desempaquetando argumentos: solo los argumentos nombrados pueden seguir a * expresión

Los siguientes trabajos bellamente en Python: def f(x,y,z): return [x,y,z] a=[1,2] f(3,*a) Los elementos de a paquete se descomprimen como si lo hubieras llamado como f(3,1,2) y se devuelve [3,1,2] . ¡Maravilloso! Pero no puedo desempaquetar los elementos de a en los dos primeros argumentos: f(*a,3) En lugar de llamar a eso como f(1,2,3) , […]

Diferencia entre mutación, revinculación, valor de copia y operador de asignación

#!/usr/bin/env python3.2 def f1(a, l=[]): l.append(a) return(l) print(f1(1)) print(f1(1)) print(f1(1)) def f2(a, b=1): b = b + 1 return(a+b) print(f2(1)) print(f2(1)) print(f2(1)) En f1 el argumento l tiene una asignación de valor predeterminada, y solo se evalúa una vez, por lo que los tres print resultados 1, 2 y 3. ¿Por qué f2 no hace […]

Pasar argumentos adicionales al objeto de callback de python (win32com.client.dispatchWithEvents)

Estoy luchando con los objetos de callback, soy un novato, por favor sea amable: Estoy utilizando el paquete win32com para interactuar con una aplicación de Windows (la aplicación no es importante). En resumen, lo que estoy tratando de lograr es una suscripción a una tabla que se actualice. He implementado con éxito una callback que […]

En Python, ¿puedo especificar el valor predeterminado de un argumento de función en términos de otros argumentos?

Supongamos que tengo una función de python que toma dos argumentos, pero quiero que el segundo arg sea opcional, con el valor predeterminado que se haya pasado como primer argumento. Entonces, quiero hacer algo como esto: def myfunc(arg1, arg2=arg1): print (arg1, arg2) Excepto que eso no funciona. La única solución que se me ocurre es […]

Usando la función map () con argumentos de palabras clave

Aquí está el bucle que estoy tratando de usar la función de map en: volume_ids = [1,2,3,4,5] ip = ‘172.12.13.122’ for volume_id in volume_ids: my_function(volume_id, ip=ip) ¿Hay alguna manera de hacer esto? Sería trivial si no fuera por el parámetro ip , pero no estoy seguro de cómo lidiar con eso.

¿Por qué este fragmento con un shebang #! / Bin / sh y exec python dentro de 4 comillas simples funciona?

Estoy tratando de entender una de las respuestas a esta pregunta: No se puede pasar un argumento a python con “#! / Usr / bin / env python” #!/bin/sh ””exec python -u — “$0″ ${1+”$@”} # ”’ Esto funciona bien, pero no entiendo por qué funciona con cuatro tics al principio de esa línea en […]