2014-11-04 87 views
1

我希望这将是我曾经问过的最简单的问题!我GOOGLE了,但没有发现任何明确的。我有一个.tac文件 - 我知道这是一个扭曲的应用程序。我可以通过执行这条命令:扭曲的python - tac或py?

twistd -ny mailserver.tac 

,如果我做了以下,将行为有什么不同(即什么是关于使用twistd来执行这样显著,并.tac后缀的文件

mv mailserver.tac mailserver.py 
python mailserver.py 

,甚至,没有重命名:

python mailserver.tac 

上的分歧任何指导将受到欢迎

+1

dupliacte - http://stackoverflow.com/questions/1897939/how-do-you-you-run-a-twisted-application-via-python-instead-of-via-twisted – WeaselFox 2014-11-04 14:35:17

+0

什么是在'mailserver .py'? – Glyph 2014-11-05 03:05:40

+0

基本上我试图在windows环境下使用eclipse和pyDev在mailserver.tac(http://twistedmatrix.com/documents/current/_downloads/emailserver.tac)上工作 - 但是(不出所料)不会识别tac文件。尽管如此,感谢@ WeaselFox指出了我通过Google搜索找不到的一件事;)如果有人认为我通过演示如何将我的“新”mailserver.py代码作为答案粘贴脚本可以是python/twistd友好的,很高兴这么做! – 2014-11-06 09:22:52

回答

2

文件扩展名并不重要。所有twistd(甚至python)都会读取内容并对其进行评估。文件名几乎完全不相关。

但是,使用twistd而不是python来运行该文件非常重要。如果使用python运行的文件是意味着.tac文件,那么很少或根本没有兴趣会发生。这应该从阅读.tac文件中明显看出。根据python评估和执行源文件的常规规则,没有任何使有趣事情发生的重要代码得以执行。

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