【问题标题】:twisted python - tac, or py?扭曲的 python - tac 还是 py?
【发布时间】:2014-11-04 14:32:20
【问题描述】:

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

twistd -ny mailserver.tac

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

mv mailserver.tac mailserver.py
python mailserver.py

甚至,没有重命名:

python mailserver.tac

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

【问题讨论】:

  • mailserver.py 中有什么内容?
  • 基本上我试图在 windows 环境中使用 eclipse 和 pyDev 处理 mailserver.tac (twistedmatrix.com/documents/current/_downloads/emailserver.tac) - 但是(不出所料)不识别 tac 文件。一切都很好,尽管感谢@WeaselFox 指出了我通过谷歌搜索未能找到的一件事;)如果有人认为我粘贴我的“新”mailserver.py 代码作为答案,通过演示如何脚本可以是 python / twistd 友好的,很高兴这样做!

标签: python twisted convention


【解决方案1】:

文件扩展名并不重要。所有twistd(甚至python)所做的就是阅读内容并评估它们。文件名几乎完全无关。

但是,使用twistd 而不是python 来运行文件非常重要。如果您使用python 运行一个意味着.tac 文件的文件,那么几乎不会发生任何感兴趣的事情。从阅读.tac 文件中可以看出这一点。根据python 如何评估和执行源文件的正常规则,不会执行任何使有趣的事情发生的重要代码。

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

【讨论】:

    猜你喜欢
    • 2013-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-30
    相关资源
    最近更新 更多