2
我已经使用pywin32成功创建了Python Windows服务。在测试我的应用程序时,我尝试打印它(这不符合我的预期),并且我还将它写入文件。它能够写入一个文件,但该文件最终在Python库site-packages文件夹中。这似乎是工作目录的位置,但我不确定为什么?我想知道指定工作目录应该是什么的最佳方法。Python Windows服务的工作目录是什么?
我可以用完整的路径名打开文件,或者我可以使用os.cwd?最佳做法是什么?
这是构成我的Windows服务的两个文件。
import os
import sys
import win32service
import win32serviceutil
from twisted.internet import reactor
import xpress
class XPressService(win32serviceutil.ServiceFramework):
_svc_name_ = 'XPress'
_svc_display_name_ = 'XPress Longer Name'
def SvcStop(self):
self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
reactor.callFromThread(reactor.stop)
def SvcDoRun(self):
xpress.main()
reactor.run(installSignalHandlers=False)
if __name__ == "__main__":
win32serviceutil.HandleCommandLine(XPressService)
下面是通过上述脚本导入的“xpress.py”。
import datetime
def main():
with open('times', 'a') as f:
print str(datetime.datetime.now())
f.write(str(datetime.datetime.now()))
if __name__ == '__main__':
main()