Articles of tubo de

Los subprocesos de Python experimentan un retraso misterioso en la recepción de EOF estándar

Reduje un problema que estaba viendo en mi solicitud al siguiente caso de prueba. En este código, un proceso principal genera simultáneamente 2 (puede generar más) subprocesos que leen un gran mensaje del padre sobre la entrada estándar, duermen durante 5 segundos y escriben algo. Sin embargo, en algún lugar ocurre una espera inesperada, lo […]

Los resultados de Piping to Head en una tubería rota en shell shell desde Python

Tengo un comando que ejecutaría para generar una cadena aleatoria: var=`< /dev/urandom tr -dc _A-Zaz-0-9 | head -c8` Cuando ejecuto este comando en una sesión de bash interactiva no obtengo ningún error. Pero cuando pongo este comando en el script y lo ejecuto como un script, aparece el error Broken pipe indicado por tr. He […]

transmisión de datos en el comando con subprocess.Popen

Con frecuencia necesito ordenar una colección de archivos que contienen encabezados. Debido a que la clasificación depende del contenido del encabezado, este caso de uso es más complicado que las preguntas similares (por ejemplo, ¿Hay alguna forma de ignorar las líneas de encabezado en una clasificación UNIX? ). Tenía la esperanza de usar Python para […]

¿Cómo obtener datos de la línea de comandos desde un progtwig Python?

Quiero ejecutar un progtwig de línea de comandos desde un script de Python y obtener el resultado. ¿Cómo obtengo la información que muestra foo para poder usarla en mi script? Por ejemplo, llamo foo file1 desde la línea de comandos y se imprime Size: 3KB Name: file1.txt Other stuff: blah ¿Cómo puedo obtener el nombre […]

Cómo usar Subproceso en Windows

Estoy intentando guardar el resultado o la función runcmd en la variable Resultado . Esto es lo que he intentado: importar subproceso def runcmd(cmd): x = subprocess.Popen(cmd, stdout=subprocess.PIPE) Result = x.communicate(stdout) return Result runcmd(“dir”) Cuando ejecuto este código, obtengo este resultado: Traceback (most recent call last): File “C:\Python27\MyPython\MyCode.py”, line 7, in runcmd(“dir”) File “C:\Python27\MyPython\MyCode.py”, line […]

Manejo de stdin con tornado

¿Cómo escuchar los eventos que ocurren en la entrada estándar en Tornado loop? En particular, en un sistema de tornado, quiero leer desde la entrada estándar, reactjsr ante él y terminar si se cierra la entrada estándar. Al mismo tiempo, el servicio web Tornado se está ejecutando en el mismo proceso. Mientras buscaba esto, lo […]

Filtroscriptor de tubería incorrecta cuando se lee desde stdin en python

Duplicado de esta pregunta. Vota para cerrar. Considere esto en la línea de comandos de Windows. scriptA.py | scriptB.py En scriptA.py: sys.stdout.write( “hello” ) En scriptB.py: print sys.stdin.read() Esto genera el siguiente error: c:\> scriptA.py | scriptB.py close failed: [Errno 22] Invalid argument Traceback (most recent call last): File “c:\scriptB.py”, line 20, in print sys.stdin.read() […]

Readline de Python desde pipe en Linux

Al crear una tubería con os.pipe() , devuelve 2 números de archivo; un final de lectura y un final de escritura que se pueden escribir y leer de forma con os.write() / os.read() ; no hay os.readline (). ¿Es posible utilizar readline? import os readEnd, writeEnd = os.pipe() # something somewhere writes to the pipe […]

Subproceso Popen argumento inválido / tubería rota mientras se comunica con el progtwig C

Tengo este codigo Todas las bibliotecas necesarias son importadas. class VERTEX(Structure): _fields_ = [(“index”, c_int), (“x”, c_float), (“y”, c_float)] Otras cosas Esta creación y matriz de una lista de vértice def writelist_buf(size, nomeID): Nvert_VERTEX_Array_Type = VERTEX * len(bpy.data.objects[nomeID].data.vertices) passarr = Nvert_VERTEX_Array_Type() for i in range(len(passarr)): vert = bpy.data.objects[nomeID].data.vertices[i] passarr[i] = VERTEX(vert.index, vert.co[0], vert.co[1]) return passarr […]

Python: select () no señala todas las entradas desde la tubería

Estoy intentando cargar un progtwig de línea de comandos externo con Python y comunicarme con él a través de tuberías. El progtwig toma la entrada de texto a través de la entrada estándar y produce una salida de texto en líneas a la salida estándar. La comunicación debe ser asíncrona utilizando select (). El problema […]