cpython/Demo/sockets/rpython.py
2010-03-11 22:53:45 +00:00

36 lines
725 B
Python
Executable File

#! /usr/bin/env python3
# Remote python client.
# Execute Python commands remotely and send output back.
import sys
import string
from socket import *
PORT = 4127
BUFSIZE = 1024
def main():
if len(sys.argv) < 3:
print("usage: rpython host command")
sys.exit(2)
host = sys.argv[1]
port = PORT
i = string.find(host, ':')
if i >= 0:
port = string.atoi(port[i+1:])
host = host[:i]
command = string.join(sys.argv[2:])
s = socket(AF_INET, SOCK_STREAM)
s.connect((host, port))
s.send(command)
s.shutdown(1)
reply = ''
while 1:
data = s.recv(BUFSIZE)
if not data: break
reply = reply + data
print(reply, end=' ')
main()