Найти - Пользователи
Полная версия: Поиск файла с корня диска С
Начало » Python для новичков » Поиск файла с корня диска С
1 2
_nemo_
'''
Нет, я имел в виду прерывать функцию поиска в коде после первого найденного результата.
'''
так break же там стоит, именно эти функции и выполняет

Ну вобщем- то да, задачка получилась интересная, хоть и небольшая
varc
На будущее хочу спросить, что и куда надо добавить в мой скрипт, чтобы он искал по всем локальным дискам? А то мало ли куда на удаленном ПК могли установить прогу и ее конфиги.
_nemo_
Нужно установить дополнительную библиотеку PyWin32.
Другого способа не знаю.

 import win32api as w
li = w.GetLogicalDriveStrings()
print(li)

doza_and
varc
А то мало ли куда на удаленном ПК могли установить прогу и ее конфиги.
Способ просто шарить по дискам представляется некорректным. Если программу именно установили а не просто бросили на диск значит она запускается либо из меню либо просто из консоли. И искать ее надо тогда не везде а по путям указанным в переменной окружения path или в системных меню. В этом случае диски переюирать не потребуется.

_nemo_
Другого способа не знаю.
Даже большее количество возможностей получите используя обращения к системным динамическим библиотекам при помощи ctypes например (https://msdn.microsoft.com/ru-ru/library/windows/desktop/aa364975(v=vs.85).aspx). PyWin32 нужна в основном для тех приложений которые предоставляют только com интерфейс. Ну типа ворда.

p.s.
Способ для ленивых В нормальных ОС ( :) ) для решения вашей задачи есть системные команды например which,locate и т.п. ставите любой эмулятор unix на вашу машину и решаете вашу задачу в одну строчку. Кстати как вы хотите применять ваше чудо? Будете таскать портативный питон на флешке?
FishHook
А может тупо перебрать весь алфавит?
_nemo_
'''
Будете таскать портативный питон на флешке?
'''
На всех моих машинах питон установлен, зачем таскать на флешке…
FishHook
_nemo_
[quote][/quote]
_nemo_
FishHook
А может тупо перебрать весь алфавит?

Вот:

 import os
alphabet = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
disk_letter = []
for letter in alphabet:
    try:
        tc = os.listdir(letter + ':\\')
        disk_letter.append(letter)
    except:
        pass
print(disk_letter)
_nemo_
doza_and
Способ просто шарить по дискам представляется некорректным. Если программу именно установили а не просто бросили на диск значит она запускается либо из меню либо просто из консоли. И искать ее надо тогда не везде а по путям указанным в переменной окружения path или в системных меню. В этом случае диски переюирать не потребуется.

На самом деле, возможностей у данного подхода гораздо больше, например вы случайно затерли важный файл, но в программе, которой вы пользовались стоял автосэйв, соответственно где- то на машине есть копия этого файла с измененным именем и расширением, но созданная в определенный, известный промежуток времени. И совсем не факт, что автосэйв сохранил копии в тэмп директории. Соответственно вот такое использование, совсем не касающееся к ущемлению чьих- то прав.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB