import subprocess
p1 = subprocess.Popen('dir', shell=True, stdin=None, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
while True:
line = p1.stdout.readline()
if not line:
break
#the real code does filtering here
print (line.rstrip())
import subprocess
p1 = subprocess.Popen('ftp', shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
comandos = [b"verbose\n",
b"open test.rebex.net\n",
b"demo\n",
b"password\n",
b"ls\n",
b"get readme.txt\n"]
for cmd in comandos:
p1.stdin.write (cmd)
respuesta = p1.communicate(timeout=5)[0]
print (respuesta.decode("cp850", "ignore"))
#instalar previamente: "pip install pywin32"
import win32clipboard
#enviar datos al portapapeles
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardText("MARCOMBO")
win32clipboard.CloseClipboard()
# obtener datos del portapapeles
win32clipboard.OpenClipboard()
datos = win32clipboard.GetClipboardData()
win32clipboard.CloseClipboard()
print (datos)
Hoy en día la comunicación entre procesos se hace mediante sockets.
La utilización de la librería pipes quedó obsoleta. DeprecationWarning: ‘pipes’ is deprecated and slated for removal in Python 3.13
import pipes
t = pipes.Template()
t.append('tr a-z A-Z', '--')
f = t.open('pipefile', 'w')
f.write('hello world')
f.close()
open('pipefile').read()