De acordo com o título, o código comentado funciona, enquanto o uso do Pathlib me dá uma instrução ilegal 4. Imprimir os caminhos para o terminal mostra que eles estão configurados corretamente e comentar a linha observer.schedule executa o programa sem erros.
class ObserverLoop:
def __init__(self):
self.folder = Path("~/Desktop")
print(self.folder.expanduser())
# self.working_path = os.path.abspath(os.path.expanduser("~/" + "/Desktop/"))
self.working_path = self.folder.expanduser()
print(self.working_path)
self.event_handler = MonitorFolderChanges(self.working_path)
def start_loop(self):
tf.key = secrets.api_key
observer = Observer()
observer.schedule(self.event_handler, self.working_path, recursive=False)
observer.start()
try:
while observer.is_alive():
observer.join(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
Qual versão de watchdog?
A última versão 0.10.2 eu acredito.
Você poderia tentar com o 0.10.3, o mais recente atual. Ele contém uma correção para oferecer suporte a objetos semelhantes a caminhos (consulte https://github.com/gorakhargosh/watchdog/releases/tag/v0.10.3).
Obrigado pela solução e lamentamos a demora em responder. O principal motivo do problema é que não foi oferecida a versão mais recente ao tentar brew upgrade
.