2014-11-04 88 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相同,但是也是啓動應用程序並運行反應堆。