【问题标题】: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 不应在此处对可用内存施加任何实际限制。

    【讨论】: