Top.Mail.Ru
Ответы

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

А точнее проблема в моем понимании кода, вернее в отсутствии понимания. Есть код:

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. я не пойму почему? Но то что я делаю что то не так это точно.

По дате
По рейтингу
Аватар пользователя
Новичок
5лет

Офигеть!
Впервые в истории ответмэйлру в вопросе по питону в коде обозначены отступы.

А по существу, по-моему в строке
****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)):

Аватар пользователя
Профи
5лет

Принт может исчислять только цифры.

Аватар пользователя
Оракул
5лет

«Пepeняли вce, кроме языка и вepы». Что объединяет казаков и чеченцев?
Казаки убежали из Кавказа а чеченцы нет