Я успешно создал службу Python для Windows, используя pywin32.При тестировании моего приложения я попытался напечатать его (что не сработало, как я ожидал), а также записал его в файл.Он смог записать в файл, но файл оказался в папке site-packages библиотеки Python.Похоже, что это где рабочий каталог, хотя я не уверен, почему?Я хотел бы знать, как лучше указать, каким должен быть рабочий каталог.
Я мог бы открывать файлы с полными путями, или я мог бы использовать 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()