Articles of unix

¿Es esta la forma correcta de ejecutar un script de shell en Python?

import subprocess retcode = subprocess.call([“/home/myuser/go.sh”, “abc.txt”, “xyz.txt”]) Cuando corra estas 2 líneas, ¿haré exactamente esto ?: /home/myuser/go.sh abc.txt xyz.txt ¿Por qué me sale este error? Pero cuando ejecuto go.sh normalmente, no recibo ese error. File “/usr/lib/python2.6/subprocess.py”, line 480, in call return Popen(*popenargs, **kwargs).wait() File “/usr/lib/python2.6/subprocess.py”, line 633, in __init__ errread, errwrite) File “/usr/lib/python2.6/subprocess.py”, line 1139, […]

Python Fabric: ¿Cómo manejar un indicador de shell remoto arbitrario para la entrada?

Esto está relacionado con esta pregunta aquí, pero con un ligero giro: en lugar de simplemente pasar ‘sí’ o ‘no’, necesito que Fabric pase una cadena arbitraria al shell remoto. Por ejemplo, si el shell remoto solicita “¿cuál es tu nombre?” entonces necesito alimentarlo ‘primero, último’. Aclaración: Sé que dije una entrada arbitraria, pero realmente […]

Error de instalación del módulo Python: el comando ‘gcc’ falló con el estado de salida 1

Estoy en Debian Squeeze, y quiero instalar el módulo igraph . Por lo tanto, estoy siguiendo todos los pasos , pero cuando trato de hacer python setup.py build Me sale un error que dice: error: command ‘gcc’ failed with exit status 1 Pero, al comienzo del mensaje del terminal, recibo errores como estos: In file […]

Captura / locking de SIGINT durante una llamada al sistema

He escrito un rastreador web que me gustaría poder detener a través del teclado. No quiero que el progtwig muera cuando lo interrumpa; primero necesita descargar sus datos al disco. Tampoco quiero capturar KeyboardInterruptedException , porque los datos persistentes podrían estar en un estado incoherente. Mi solución actual es definir un manejador de señales que […]

¿Cómo montar un sistema de archivos usando Python?

Estoy seguro de que esta es una pregunta fácil, mi Google-fu obviamente me está fallando. ¿Cómo puedo montar un sistema de archivos usando Python, el equivalente a ejecutar el comando de shell mount … ? Obviamente, puedo usar os.system para ejecutar el comando de shell, pero seguramente hay una buena interfaz de Python ordenada para […]

¿Cómo puedo configurar la última hora de modificación de un archivo desde Python?

Tengo un script en python que descarga un archivo a través de FTP usando ftplib . Mi código de descarga actual se parece al ejemplo en los documentos ftp lib: ftp.retrbinary(‘RETR README’, open(‘README’, ‘wb’).write) Ahora tengo el requisito de que el archivo descargado a través de FTP debe tener la misma última hora de modificación […]

¿Existe una forma estándar de asegurarse de que python2 interpretará un script de python y no python3?

¿Existe una forma estándar de asegurarse de que python2 interpretará un script de python y no python3? En mi distro, puedo usar #! / Usr / bin / env python2 como shebang, pero parece que no todas las distribuciones se envían “python2”. Podría llamar explícitamente a una versión específica (por ejemplo, 2.6) de python, pero […]

Recuperación de zmq.error.ZMQError: la dirección ya está en uso

Presioné Ctrl-C mientras ejecutaba una conexión de patrón PAIR (servidores de cliente sin locking) con ZMQ. Más tarde, cuando intenté ejecutar el patrón REQ-REP (bloqueando la conexión de un solo servidor del cliente), sigo obteniendo el error de Address already in use . He intentado ejecutar netstat con netstat -ltnp | grep : netstat -ltnp […]

Python: Asignar salida de impresión a una variable

Me gustaría saber cómo asignar la salida de la función de print (o cualquier función) a una variable. Para dar un ejemplo: import eyeD3 tag = eyeD3.Tag() tag.link(“/some/file.mp3”) print tag.getArtist() ¿Cómo asigno la salida de print tag.getArtist a una variable?

¿Por qué funciona Celery en el shell de Python, pero no en mis vistas de Django? (problema de importación)

Instalé Celery (la última versión estable). Tengo un directorio llamado /home/myuser/fable/jobs . Dentro de este directorio, tengo un archivo llamado tasks.py: from celery.decorators import task from celery.task import Task class Submitter(Task): def run(self, post, **kwargs): return “Yes, it works!!!!!!” Dentro de este directorio, también tengo un archivo llamado celeryconfig.py: BROKER_HOST = “localhost” BROKER_PORT = 5672 […]