2009-10-28 87 views
6

我目前正在使用win32service和win32serviceutil作爲Windows服務運行的python程序。該服務運行,因爲它應該,甚至在使用py2exe後,一切都很好(該服務監視目標文件夾和autmotically FTP新創建的文件到指定的FTP位置)。但是,我希望添加一些命令行參數(除了安裝,刪除,啓動,停止等等)以指定本地和FTP目錄。關於這一點的唯一文檔是我發現的: http://www.py2exe.org/old/Python服務自定義命令參數

「或者,你可以指定一個‘CMDLINE式’屬性py2exe,與有效值是‘py2exe’(默認),‘pywin32’或' custom'。'py2exe'指定了py2exe始終支持的傳統命令行,'pywin32'支持與pywin32支持的完全相同的命令行參數(即從.py文件運行服務時支持相同的參數)''定製「意味着你的模塊需要提供一個'HandleCommandLine'功能,它負責所有的命令行處理。」

任何幫助將不勝感激,指向正確的方向。爲了清晰起見,請告訴我是否需要任何代碼。

謝謝,扎克

回答

3

here是如何使服務具有自定義HandleCommandLine類方法一個很好的例子 - 它的焦的一部分,但對火法沒有相關性,而這是一個實用程序「抽象基類」即你可以通過在你的子類中設置一些東西來繼承子類並獲得一個服務,只需要最小的麻煩。針對您的特定需求,您可以將其用作模板進行復制和編輯,以獲得您想要的命令行處理!

+0

這可能正是我所需要的,我將它應用到我的代碼後回覆。 – 2009-10-29 13:26:30

+0

這是一個有趣的修復。基本上,抽象基類BasicNTService按正常方式接收服務參數(安裝,刪除,更新等)。然後,在命令行上有一個新的提示,用於通過註冊表存儲和檢索的其他參數。 – 2009-10-29 20:31:49