【问题标题】:Call process running on Ubuntu localhost in python在 python 中在 Ubuntu localhost 上运行的调用进程
【发布时间】:2026-01-01 13:30:01
【问题描述】:
我几乎没有使用 Linux 的经验,但我在我的 Ubuntu 机器上运行了一项服务,它将字符串从一种语言翻译成另一种语言。
该服务可以像echo "som input text" | nc 127.0.0.1 3333 这样使用,它输出“一些输入文本”的翻译。
现在,我想在我正在开发的 Python 程序中使用此服务,但我不知道如何执行此操作。我还担心提供很长的文本作为输入。输入长度有限制吗?我正在考虑去除引号的输入文本 ("),以免造成任何混淆。
【问题讨论】:
标签:
python
ubuntu
localhost
subprocess
【解决方案1】:
要连接到 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 不应在此处对可用内存施加任何实际限制。