diff options
author | Georg Brandl <georg@python.org> | 2010-12-30 21:33:07 +0000 |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2010-12-30 21:33:07 +0000 |
commit | 7fafbc95c0c963438197c9a43fe893c4ea6fe759 (patch) | |
tree | 5c9ceda4bdc5260236a230554b9ed56b8c0cdbd3 /Tools/demo/rpython.py | |
parent | 6f17e2df29a865a29447531e89fb22be710e382d (diff) | |
download | cpython-git-7fafbc95c0c963438197c9a43fe893c4ea6fe759.tar.gz |
More cleanup: Move some demos into a dedicated Tools/demo dir, move 2to3 demo to Tools, and remove all the other Demo content.
Diffstat (limited to 'Tools/demo/rpython.py')
-rwxr-xr-x | Tools/demo/rpython.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Tools/demo/rpython.py b/Tools/demo/rpython.py new file mode 100755 index 0000000000..e9657203df --- /dev/null +++ b/Tools/demo/rpython.py @@ -0,0 +1,36 @@ +#! /usr/bin/env python3 + +# Remote python client. +# Execute Python commands remotely and send output back. + +import sys +from socket import socket, AF_INET, SOCK_STREAM, SHUT_WR + +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 = host.find(':') + if i >= 0: + port = int(port[i+1:]) + host = host[:i] + command = ' '.join(sys.argv[2:]) + s = socket(AF_INET, SOCK_STREAM) + s.connect((host, port)) + s.send(command.encode()) + s.shutdown(SHUT_WR) + reply = b'' + while True: + data = s.recv(BUFSIZE) + if not data: + break + reply += data + print(reply.decode(), end=' ') + s.close() + +main() |