我希望这是我在这里问过的最简单的问题!我用google搜索等,但没有找到任何确定的东西。我有一个.tac文件 - 我知道这是一个扭曲的应用程序。我可以通过执行:
来运行它twistd -ny mailserver.tac
如果我做了以下操作,行为是否会有所不同(即,使用twistd可执行文件和.tac后缀文件有什么重要意义?
mv mailserver.tac mailserver.py
python mailserver.py
甚至,没有重命名:
python mailserver.tac
欢迎任何有关差异的指导!
答案 0 :(得分:2)
文件扩展名并不重要。所有twistd
(甚至python
)都会读取内容并对其进行评估。文件名几乎完全不相关。
但是,使用twistd
代替python
来运行该文件非常重要。如果您使用.tac
运行意味着的文件为python
文件,那么很少或根本不感兴趣。通过阅读.tac
文件,这一点应该很明显。根据{{1}}评估和执行源文件的常规规则,没有任何重要的代码会发生任何有趣的事情。
考虑python
。它包含的唯一顶级代码是一些类定义和对实例化并返回emailserver.tac
实例的函数的调用。如果您使用Application
对此进行评估,则会获得python
个实例,然后程序将完成并退出。将此与使用Application
时发生的事情进行比较 - 与twistd
相同,但也启动应用程序并运行反应堆。