Есть ли что-то кроме файлов и папок в windows? - PullRequest
0 голосов
/ 24 апреля 2020

Таким образом, в этом коде ниже была точка, в которой переменные isdir и isfile были False в месте, указанном ниже. C:\$Recycle.Bin\S-1-5-21-1497504892-686590732-2437687721-1001\$R8L4RMB\AppData\Local\Microsoft\WindowsApps \Microsoft.MicrosoftEdge_8wekyb3d8bbwe \MicrosoftEdge.exe. Я хочу указать, что когда я cd в родительский файл вышеупомянутого файла через cmd, я могу это сделать, но с помощью powershell и файлового менеджера я не могу этого сделать. Но учтите, что у меня нет проблем с кодом. Я просто хотел знать, почему это происходит. Если вы хотите получить больше объяснений по коду, прочитайте абзац под кодом.

    def build_tree(self, node, parent=''):
        location = os.path.join(parent, node)
        isfile = os.path.isfile(location)
        if node == [] or os.path.isfile(location):
            return node

        if node == '':
            children = ['C:\\', 'D:\\', 'E:\\']

        else:
            isdir = os.path.isdir(location)
            children = os.listdir(location)

        for child in children:
            print(os.path.join(location, child))
            try:
                self.build_tree(child, location)

            except PermissionError:
                continue

Я начал кодировать приложение для отслеживания всей вашей файловой системы в python. Если что-то изменит вас в вашей файловой системе, вы получите уведомление. затем вместо того, чтобы использовать os.walk, я использовал свой собственный рекурсивный список файлов / каталогов, потому что хотел создать дерево файловой системы. Таким образом, используя дерево, я могу легко обойти дерево, отслеживая изменения, проверяя размер файла каждую секунду. если он обнаруживает изменение размера папки с момента последнего входа в эту папку и рекурсивно идет до тех пор, пока не обнаружит, что каталог или файл отсутствует или изменен с момента последней проверки, он записывает сообщение в файл. это мой план алгоритма, и я не выполнил четверть его.

спасибо за помощь заранее

...