Articles of línea de comandos

¿Cómo pasar un asterisco al módulo “sh” en python?

Estoy usando el módulo “sh” en python para llamar a comandos externos en Linux. En mi caso particular, me gustaría llamar el comando “du” porque es más eficiente que hacer esos cálculos “a mano”. Desafortunadamente la siguiente línea no funciona: output = sh.du(‘-sx’, ‘/tmp/*’) Pero esto funciona: output = sh.du(‘-sx’, ‘/tmp/’) Si paso un asterisco, […]

Controlando una aplicación de consola de Windows con canalización estándar

Estoy tratando de controlar una aplicación de consola (aplicación JTAG de Segger) desde Python usando el módulo de subproceso. La aplicación se comporta correctamente para stdout, pero el stdin no parece ser leído. Si habilito el shell, puedo escribir en la entrada y controlar la aplicación, pero necesito hacer esto mediante progtwigción. El mismo código […]

Dividir directorio grande en subdirectorios

Tengo un directorio con aproximadamente 2.5 millones de archivos y tiene más de 70 GB. Quiero dividir esto en subdirectorios, cada uno con 1000 archivos en ellos. Aquí está el comando que he intentado usar: i=0; for f in *; do d=dir_$(printf %03d $((i/1000+1))); mkdir -p $d; mv “$f” $d; let i++; done Ese comando […]

ordenar y obtener líneas de archivo uniq en python

Siempre uso esta línea de comando para ordenar y obtener solo líneas uniq y funciona como un encanto incluso con archivos grandes (más de 500,000 líneas) sort filename.txt | uniq | sponge filename.txt El código de python equivalente más corto sería f = open(“filename.txt”, “r”) lines = [line for line in f] lines = lines.sort() […]

¿Opciones con opciones con argparse de Python?

Estoy escribiendo un script en Python, y estoy usando argparse para analizar mis argumentos. El script debe comparar dos “alineadores” diferentes de un grupo de alineadores disponibles, y cada alineador tiene algunas opciones de configuración. Quiero poder llamar mi script con algo como: ./script.py –aligner aligner1 –param 12 –aligner aligner2 –param 30 –other_param 28 Quiero […]

Cómo capturar la salida de una función matlab de python

Estoy ejecutando el siguiente código de Python que evalúa la media de una matriz: def matlab_func1(array): p = os.popen(‘matlab -nodesktop -nosplash -r “mean(‘+str(array)+’);exit”‘) while 1: line = p.readline() if not line: break print line matlab_func1([1,2,3]) Desde el script matlab a continuación, se puede ver el retorno de salida a y. Quiero capturar esta salida de […]

Ejecutar Pycharm desde la línea de comandos (terminal)

Quiero probar PyCharm para el desarrollo de Matemáticas Salvia. Normalmente ejecuto eclipse para hacer el desarrollo de Sage, pero ahora quiero probarlo con PyCharm. Para iniciar eclipse con variables de entorno sage, en la línea de comandos normalmente hago lo siguiente: sage -sh cd /path/to/eclipse ./eclipse La primera línea carga las variables de entorno de […]

¿Salida la línea de comando llamada por subproceso?

Estoy usando el subprocess.Popen Llamada subprocess.Popen , y en otra pregunta descubrí que había estado malinterpretando cómo Python estaba generando argumentos para la línea de comandos. Mi pregunta ¿Hay alguna manera de averiguar cuál era la línea de comando real? Código de ejemplo: – proc = subprocess.popen(….) print “the commandline is %s” % proc.getCommandLine() ¿Cómo […]

Cómo hacer autocompletar la línea de comandos de Python pero NO solo al principio de una cadena

Python, a través de sus enlaces de línea de lectura, permite una gran autocompletación de la línea de comandos (como se describe aquí ). Pero, la terminación solo parece funcionar al principio de cadenas. Si desea que coincida con la mitad o el final de una línea de lectura de cadena no funciona. Me gustaría […]

¿Cuál es la mejor manera de distribuir las herramientas de línea de comandos de Python?

Mi script setup.py actual funciona bien, pero instala tvnamer.py (la herramienta) como tvnamer.py en paquetes de sitio o en algún lugar similar. ¿Puedo hacer que setup.py instale tvnamer.py como tvnamer , y / o hay una mejor manera de instalar aplicaciones de línea de comandos?