-1

我正在寻找用 Python 实现的 FTP 服务器,并遇到了这个https://gist.github.com/scturtle/1035886。我试图理解它,但作为一名 Web 开发人员和相当新的 Python,我发现它令人困惑。

这是我不明白的:

  1. 这个属性是从哪里出现的,它没有在任何地方定义
    Line no : 22, 23

    def run(self):
        self.conn.send('220 Welcome!\r\n')
    
  2. 这个函数/代码在哪里定义?
    线路号码 : 223, 224

    ftp.daemon=True
    ftp.start()
    

我知道Python 中的基本 OOP任何参考资料,以了解代码并成为更强大的 Python 程序员将是可观的。谢谢!

4

2 回答 2

0

在分配中,如果不存在,python 将创建属性(变量)。因此,init它实际上确实self.conn=conn创建了属性。__init__几乎是创建类实例时调用的构造函数。对ftp.daemon. 现在,ftp.start()继承自threading.Thread.

于 2014-11-10T23:17:37.267 回答
0

(1) 变量定义在__init__

def __init__(self,(conn,addr)):
    self.conn=conn
    ...

(2) FTPserverThread 继承自threading.Thread。属性和方法在父类中定义。

当对使用标准 python 库的代码感到困惑时,阅读文档会有所帮助。搜索“线程”并阅读。

于 2014-11-10T23:28:34.017 回答