Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Проблема кода в python

Пророк Знаток (411), закрыт 4 года назад
А точнее проблема в моем понимании кода, вернее в отсутствии понимания. Есть код:

import os

file = "report.txt"

directory = os.walk('F:')
for d in directory:

****if (any('file' in i for i in directory)):
********print("Да файл report есть в этой папке")
****else:
********print("Да нет дружок, че то ты херню опять написал")

print (d)

вообщем файл есть в этой папке, но программа выдает по оператору else. я не пойму почему? Но то что я делаю что то не так это точно.
Лучший ответ
Aleks Nots Просветленный (22643) 4 года назад
Офигеть!
Впервые в истории ответмэйлру в вопросе по питону в коде обозначены отступы.

А по существу, по-моему в строке
****if (any('file' in i for i in directory)):
две ошибки
1
'file'
После заключения названия переменной в кавычки это уже не переменная file содержащая строку "report.txt",
а просто строка 'file'.
То есть программа среагирует не на файл с названием "report.txt", а на файл с названием 'file' (без расширения).
2
По-моему не в directory, а в переменной d надо смотреть

То есть надо так:
****if (any(file in i for i in d)):
ПророкЗнаток (411) 4 года назад
Блин.. Гений!!! Уже который раз элементарные ошибки допускаю. Смотришь выпучив глаза в код и не видишь элементарного. Спасибо большое! Все заработало.
Maks KinezzeУченик (37) 4 года назад
C чего ты взял то что После заключения названия переменной в кавычки это уже не переменная file содержащая строку "report.txt", ??
Остальные ответы
Ен Худа Профи (688) 4 года назад
Принт может исчислять только цифры.
Марк Марк Оракул (77014) 4 года назад
«Пepeняли вce, кроме языка и вepы». Что объединяет казаков и чеченцев?
Казаки убежали из Кавказа а чеченцы нет
Похожие вопросы