Проверьте, не открыт ли файл в общей папке другим процессом - PullRequest
1 голос
/ 31 марта 2020

У меня есть file.pdf в общей папке в Windows 10. Есть много пользователей, которые могут открыть файл. Я попытался проверить, открывается ли файл с помощью следующего кода:

import psutil
import os.path

documents_dir = r"X:\docs"
file_name = "file.pdf"
os.chdir(documents_dir)
for proc in psutil.process_iter():
        try:
            # this returns the list of opened files by the current process
            flist = proc.open_files()
            if flist:
                #print(proc.pid,proc.name)
                for f in flist:
                    if f.path == os.path.abspath(file_name):
                        print ("file {} is opened".format(file_name))
                        return

        # This catches a race condition where a process ends
        # before we can examine its files
        except psutil.NoSuchProcess as err:
            print("****",err)

Я не могу отследить случаи, когда пользователи с другого компьютера открывают file.pdf в общей папке Windows. Можно это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...