#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# searchFile.py
#
# Copyright 2016 denis8424
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
#
#
import os
def main():
# путь к папке, с которой мы начнем поиск
cernelPath = '/home/denis8424/bge/land_disain/'
# имя искомого файла
nameFile = 'soil.jpg'
# осуществляем поиск и сохраняем результат
search = searchFile(cernelPath, nameFile)
# выводим результат поиска на экран
print(search)
return 0
def searchFile(startPath, nameFile):
# результат поиска, по умолчанию "ничего не нашли", он же флаг
result = False
# список всех путей к папкам, в которых будем искать
listPaths = [startPath]
# просматриваем доступные пути к директориям
for path in listPaths:
# просматриваем содержимое текущей папки
for ob in os.listdir(path):
# если файл, тот что нам нужен
if ob == nameFile:
# то изменяем значение флага на путь к файлу
result = path + ob
# и выходим из этого цикла
break
# если же файл не тот, что нужен, но является папкой
elif os.path.isdir(ob):
# добавляем путь к новой папке в список всех путей для
# последующего поиска там
newPath = path + ob + '/'
listPaths.append(newPath)
# если в предыдущем цикле что-то нашли, то выходим и из этого цикла.
if result != False:
break
# красиво оформляем фейл поиска
if result == False:
result = 'Извините, по вашему запросу ничего не найдено'
return result
if __name__ == '__main__':
main()
Красивого кода не получилось...
# -*- coding: utf-8 -*-
#
# searchFile.py
#
# Copyright 2016 denis8424
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
#
#
import os
def main():
# путь к папке, с которой мы начнем поиск
cernelPath = '/home/denis8424/bge/land_disain/'
# имя искомого файла
nameFile = 'soil.jpg'
# осуществляем поиск и сохраняем результат
search = searchFile(cernelPath, nameFile)
# выводим результат поиска на экран
print(search)
return 0
def searchFile(startPath, nameFile):
# результат поиска, по умолчанию "ничего не нашли", он же флаг
result = False
# список всех путей к папкам, в которых будем искать
listPaths = [startPath]
# просматриваем доступные пути к директориям
for path in listPaths:
# просматриваем содержимое текущей папки
for ob in os.listdir(path):
# если файл, тот что нам нужен
if ob == nameFile:
# то изменяем значение флага на путь к файлу
result = path + ob
# и выходим из этого цикла
break
# если же файл не тот, что нужен, но является папкой
elif os.path.isdir(ob):
# добавляем путь к новой папке в список всех путей для
# последующего поиска там
newPath = path + ob + '/'
listPaths.append(newPath)
# если в предыдущем цикле что-то нашли, то выходим и из этого цикла.
if result != False:
break
# красиво оформляем фейл поиска
if result == False:
result = 'Извините, по вашему запросу ничего не найдено'
return result
if __name__ == '__main__':
main()
Красивого кода не получилось...
Комментариев нет:
Отправить комментарий