Python - 简单 TCP/IP S/C: Not all strings converted error for a print statement

Python - Simple TCP/IP S/C: Not all strings converted error for a print statement

好的,所以我设置了一个简单的套接字 TCP/IP 服务器和客户端,现在我在 Aptana Atudio 3 中的 PyDev 中遇到了这个错误。服务器运行正常并等待连接,但是我的客户端 运行 给我错误

打印'establishing connection to server at %s '%server_address

类型错误:在字符串格式化期间并非所有参数都已转换

为了尝试自己解决问题,我在堆栈之前使用了我的常规资源,并将我的代码与 PYMOTW 上的文章进行了比较,并进行了调整以匹配他们的代码,看看它是否改变了我的错误。我似乎看不出是什么导致了错误。我将我的解释器设置为 python 与我的电脑 运行 相同的语言...这是我的代码,我已经搜索了其他用户提出的具有相同问题的问题,但似乎总是存在他们的修复程序对我不起作用..

import socket
import sys


sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  # @UndefinedVariable

server_address = ('localhost', 0)
print 'establishing connection to server at %s' % server_address
sock.connect(input(server_address))  # @UndefinedVariable

try:
    message = 'message to server'
    print 'sending %s' % message
    sock.sendall(message) 

    amount_recieved = 0 
    amount_expected = len(message)  # @UndefinedVariable

    while amount_recieved < amount_expected:
        data = sock.recv(16)
        amount_recieved += len(data)  # @UndefinedVariable
        print 'recieved %s' %(data)
finally:
    print 'closing down'
    sock.close

()

server_address 是一个元组。试试这个:

print 'establishing connection to server at %s ' % str(server_address)

或者这个:

print 'establishing connection to server at %s:%d ' % server_address