2015-04-12 37 views
0

我幾乎沒有使用Linux的經驗,但我有一臺運行在我的Ubuntu機器上的服務,它將字符串從一種語言翻譯成另一種語言。 服務可以像這樣使用echo "som input text" | nc 127.0.0.1 3333,它輸出「一些輸入文本」的翻譯。 現在,我想在我正在開發的Python程序中使用此服務,但我不知道如何執行此操作。我也擔心提供一個很長的文本作爲輸入。輸入長度是否有限制?我正在考慮剝離輸入文本的引號("),以免引起任何混淆。在python中運行在Ubuntu本地主機上的調用進程

回答

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不應該在可用內存之外強加任何實際的限制。

相關問題