我尝试构建一个一次性脚本,在每次更改后自动编译我的乳胶文档。
相关代码:
class LatexCompiler(FileSystemEventHandler):
def on_modified(self, event):
if isinstance(event, watchdog.events.FileModifiedEvent):
print event
os.system("pdflatex Thesis.tex")
if __name__ == "__main__":
path = sys.argv[1] if len(sys.argv) > 1 else '.'
os.chdir("/path/to/my/tex/file")
observer = Observer()
observer.schedule(LatexCompiler(), path, recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
一旦我添加了 os.system(...) 行, on_modified() 方法就会在触发后开始永远循环。为了确保仅在我省略了对 os.system() 的调用后才调用 on_modified() 并且它就在那里,只打印了一行描述事件。
那么出了什么问题呢?