python - 扭曲的 python - tac 还是 py?

标签 python twisted convention

我希望这将是我在这里问过的最简单的问题!我用谷歌搜索过等,但没有找到任何明确的东西。我有一个 .tac 文件 - 我知道这是一个扭曲的应用程序。我可以通过执行以下命令来运行它:

twistd -ny mailserver.tac

如果我执行以下操作,行为是否会有所不同(即,使用 twind 可执行文件和 .tac 后缀文件有什么重要意义?

mv mailserver.tac mailserver.py
python mailserver.py

或者甚至,不重命名:

python mailserver.tac

欢迎任何有关差异的指导!

最佳答案

文件扩展名并不重要。 twistd(甚至python)所做的一切就是读取内容并对其进行评估。文件名几乎完全不相关。

但是,使用 twistd 而不是 python 来运行该文件非常重要。如果您使用 python 运行一个意味着.tac 文件的文件,那么几乎不会发生任何有趣的事情。通过阅读 .tac 文件,这一点应该显而易见。使任何有趣的事情发生的重要代码都不会根据 python 如何评估和执行源文件的正常规则执行。

考虑emailserver.tac。它包含的唯一顶级代码是一些类定义和对实例化并返回 Application 实例的函数的调用。如果您使用 python 对其进行评估,您将获得一个 Application 实例,然后程序将完成并退出。将此与使用 twistd 发生的情况进行比较 - 与 python 执行相同的操作,但随后启动应用程序并运行 react 器。

关于python - 扭曲的 python - tac 还是 py?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26737701/

相关文章:

gradle - 约定优于配置

Javabean 约定 - 属性 gId 的方法命名

python - Python 的 Twisted Reactor 是如何工作的?

python - Twisted:使用 connectProtocol 连接端点导致内存泄漏?

将图像从本地计算机上传到 Microsoft Cognitive Vision 的 Python 方法

python - 需要正则表达式 :(

python - 在 Twisted 中,等待连接完全关闭

java - 创建文件并返回枚举作为结果的模式或约定

python - Google App Engine Shared Memcache 的生命周期很短

python - 错误 : No Commands supplied when trying to install pyglet