在 python 的 Ubuntu 本地主机上调用进程 运行

Call process running on Ubuntu localhost in python

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

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

改编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 不应在此处强加任何超出可用内存的实际限制。