作为python项目的一部分,我正在编写我需要根据注册表在自己的程序中打开一个文件(可能是各种类型)(我需要它只在Windows上工作)并等到程序已关闭,因此我可以检查文件是否已更改(或在程序中编辑)。
我读了很多关于这个主题的其他问题,但我可以找到解决方案。
我尝试使用subproccess.Popen,call或check_all以及os.startfile和psutil来检查procces的pid。
编辑:所有文件都与打开它们的脚本位于同一文件夹中。我可以打开文件,但我不能让它等到它关闭。只有当程序是notepad.exe时它才会等待
编辑2 :到目前为止我使用了这段代码:
doc = subprocess.Popen(["start", "/WAIT", file_path], shell=True)
doc.wait()
此代码打开我要求的任何文件,但只有当notepad.exe是打开的程序时,doc.wait()才会等待。例如,我尝试用微软的单词打开一个.docx文件,它打开但没有等我关闭文件。 我无法在没有shell = True的情况下运行它,因为当我这样做时会抛出“可以找到文件”错误。
感谢您的回答, DOR