调用在python中的Ubuntu localhost上运行的进程

时间:2015-04-12 10:50:24

标签: python ubuntu localhost subprocess

我几乎没有使用Linux的经验,但我在我的Ubuntu机器上运行了一个服务,它将一个字符串从一种语言翻译成另一种语言。 该服务可以像echo "som input text" | nc 127.0.0.1 3333一样使用,它输出"某些输入文本"的翻译。 现在,我想在我正在开发的Python程序中使用此服务,但我不知道如何执行此操作。我也很关注提供一个很长的文本作为输入。输入长度是否有限制?我正在考虑剥离引号的输入文本("),以免引起任何混淆。

1 个答案:

答案 0 :(得分:2)

要连接到TCP / IP服务,您需要打开socket。这不是(太多)依赖于操作系统,所有主要操作系统都支持这一点。

改编from the Python socket module documentation

# Echo client program
import socket

HOST = '127.0.0.1'    # The host
PORT = 3333              # The same port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.sendall('Hello, world')
data = s.recv(1024)
s.close()
print 'Received', repr(data)

关于输入长度的潜在限制 - 这将完全取决于您的服务。 Python不应该在可用内存之外强加任何实际限制。