Python twisted中插件和应用程序插件的区别是什么?

Python twisted中插件和应用程序插件的区别是什么?,python,twisted,Python,Twisted,这里有一个非常类似的问题: 答案是: 插件更好,因为您可以使用命令行选项 当我开始学习twisted时,我正在使用一个现有的应用程序,我不知道入口点在哪里,它在twisted/plugins文件夹的某个地方 从那时起,我的首选方法是使用顶部文件夹中的tac文件,但现在我需要向脚本传递一些命令行参数。我被告知要使用扭曲的应用程序插件 twisted中的插件一词让我感到困惑。对我来说,它意味着以无缝的方式改变应用程序的一些事情——你真的不必知道它们的存在——它们只是“插入”到你的应用程序中,改变它的

这里有一个非常类似的问题:

答案是:

插件更好,因为您可以使用命令行选项

当我开始学习twisted时,我正在使用一个现有的应用程序,我不知道入口点在哪里,它在
twisted/plugins
文件夹的某个地方

从那时起,我的首选方法是使用顶部文件夹中的
tac
文件,但现在我需要向脚本传递一些命令行参数。我被告知要使用扭曲的应用程序插件

twisted中的
插件
一词让我感到困惑。对我来说,它意味着以无缝的方式改变应用程序的一些事情——你真的不必知道它们的存在——它们只是“插入”到你的应用程序中,改变它的行为

但我无法理解twisted应用程序和twisted应用程序插件在概念上的区别。对我来说,它们有着相同的用途,但有着不同的特点——为什么


何时应该使用twisted应用程序以及何时使用插件?

twisted中的插件仅向
twistd
脚本添加命令和/或选项。他们没有别的意思

是的,有两种方法可以为应用程序编写启动脚本,一种是使用
.tac
文件,另一种是通过插件向
twistd
添加命令

我认为
.tac
文件更容易编写

我认为同时使用插件和
.tac
文件并不是一件错误的事情

还有第三种方法:编写自己的启动脚本,而不是
twistd

但我无法理解这两个词在概念上的区别 应用程序和扭曲的应用程序插件。对我来说,他们服务于 相同的目的,但被赋予不同的功能-为什么

不,它们的作用不一样。Twisted应用程序只是一个
.tac
文件,可以使用
twistd
脚本启动。它更像一个配置文件。使用python语法的配置文件。它的目的是您不需要编写自己的启动脚本。但是如果
twistd
没有为您提供足够的选项,您可以为它编写一个插件。因此,插件的目的是扩展
twistd


如果我必须发布一个独立的应用程序,我会编写自己的启动脚本,而不会使用
twistd
脚本<如果应用程序的用户熟悉twisted或拥有更多twisted应用程序,则代码>twistd可以。我认为查看
twistd
的所有不同选项对用户来说只是一个负担,如果不参考文档就无法启动应用程序,这是非常令人沮丧的


例如,它为不熟悉twisted的用户提供了一个脚本
scrapyd

>如果我不得不发布一个独立的应用程序,我会编写自己的启动脚本,而不会使用twisted脚本。>例如,scrapy做到了这一点:它为不熟悉twisted的用户提供了scrapyd脚本scrapyd源代码:
twistd-ny“$tacfile”