Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 21, 2013 17:05:48

OzXaker
От:
Зарегистрирован: 2010-12-01
Сообщения: 49
Репутация: +  0  -
Профиль   Адрес электронной почты  

Цикл While

Не могли бы вы мне обьяснить почему не срабатывает условие!

import os
def TypeFileDir():
    n = 0
    InpFile = input('Введите данные для поиска: ')
    ListFD = os.listdir()
    while n < len(ListFD):        
        OneFile = str(os.listdir()[n])
        ind = OneFile.find(".")
        if InpFile == "*"+OneFile[ind:]:
            print (OneFile)
        n += 1
    if not n:   
        print('Я ничего не нашёл') # Вот это условие не срабатывает - Почему не знаю :(

А здесь срабатывает СТРАННО -Кто нибудь знает почму то ?

import os
def TypeFileDir():
    n = 0
    InpFile = input('Введите данные для поиска: ')
    ListFD = os.listdir()
    for F in ListFD:
        OneFile = F.split('.')[-1]
        if InpFile == "*."+OneFile:
            print(F)
            n += 1
    if not n:
        print('Я ничего не нашёл')



Отредактировано OzXaker (Ноя. 21, 2013 17:06:55)

Офлайн

#2 Ноя. 21, 2013 17:12:40

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

Цикл While

сравни отступ в третьей строке с конца

Офлайн

#3 Ноя. 21, 2013 17:17:36

OzXaker
От:
Зарегистрирован: 2010-12-01
Сообщения: 49
Репутация: +  0  -
Профиль   Адрес электронной почты  

Цикл While

меняю отступ вообще ничего не выводит



Офлайн

#4 Ноя. 21, 2013 17:45:09

smoke853
Зарегистрирован: 2012-10-02
Сообщения: 123
Репутация: +  15  -
Профиль   Отправить e-mail  

Цикл While

import os
def TypeFileDir():
    n = i = 0
    InpFile = input('Введите данные для поиска: ')
    ListFD = os.listdir()
    while n < len(ListFD):        
        OneFile = str(os.listdir()[n])
        ind = OneFile.find(".")
        if InpFile == "*"+OneFile[ind:]:
            print(OneFile)
            i += 1
        n += 1
    if not i:   
        print('Я ничего не нашёл')

Офлайн

#5 Ноя. 21, 2013 17:50:06

OzXaker
От:
Зарегистрирован: 2010-12-01
Сообщения: 49
Репутация: +  0  -
Профиль   Адрес электронной почты  

Цикл While

smoke853 Спасибо большое !!!!!!!!!



Офлайн

#6 Ноя. 21, 2013 19:10:48

smoke853
Зарегистрирован: 2012-10-02
Сообщения: 123
Репутация: +  15  -
Профиль   Отправить e-mail  

Цикл While

OzXaker, незачто, еще у вас в коде есть такая запись:

str(os.listdir()[n])
Здесь str не нужен.
А вообщем я бы переписал этот пример как то так:
import os
def type_file_dir(path='.', message='Not found!'):
    ext = input('Enter file extension: ')
    list_dir = [n for n in os.listdir(path) if ext == "*" + os.path.splitext(n)[-1]]
    return list_dir if list_dir else message
print(type_file_dir())

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version