1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| #!/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()
|
|