Python 认为我传递的参数比我传递的要多?

标签 python sockets jython

尝试在 Python 中设置一些基本的套接字代码(好吧,Jython,但我认为这与这里无关)。

import socket
class Foo(object):
    def __init__(self):
        #some other init code here

        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.connect("localhost", 2057)
        s.send("Testing 1,2,3...")
        data = s.recv()
        s.close()
        print data

它告诉我:

    s.connect("localhost", 2057)
  File "<string>", line 1, in connect
TypeError: connect() takes exactly 2 arguments (3 given)

我觉得有一些非常简单的事情正盯着我的脸,但我不知道我做错了什么。

最佳答案

您必须将元组传递给 connect() 方法。

s.connect( ('localhost', 2057) )

预期的第一个(隐式)参数是 self,第二个是元组。

关于Python 认为我传递的参数比我传递的要多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7022338/

相关文章:

python - 在 Pycharm : How to turn off interactive mode? 中调试时使用 Matplotlib

jython - OpenRefine 支持 Python3 吗?

c - 正在检测 TFTP 数据的传入端口?

python - jython 中字符函数参数的最大长度是多少?

java - 从java导入django模块

python - Python 3 中字节串的正则表达式

python - 纪元纳秒到正常时间

python - 如何在某些条件下禁用/启用特定的 tkinter 按钮?

c# - 来自 Xamarin 应用程序的第二次 api 调用失败(第一次调用总是返回正常)

php - ReactPHP 套接字服务器 : What triggers the write (to client)?