Таким образом, в этом коде ниже была точка, в которой переменные 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, я использовал свой собственный рекурсивный список файлов / каталогов, потому что хотел создать дерево файловой системы. Таким образом, используя дерево, я могу легко обойти дерево, отслеживая изменения, проверяя размер файла каждую секунду. если он обнаруживает изменение размера папки с момента последнего входа в эту папку и рекурсивно идет до тех пор, пока не обнаружит, что каталог или файл отсутствует или изменен с момента последней проверки, он записывает сообщение в файл. это мой план алгоритма, и я не выполнил четверть его.
спасибо за помощь заранее