Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2019, 19:00   #1
nixage
Новичок
Джуниор
 
Регистрация: 28.05.2019
Сообщений: 2
По умолчанию Type Error ошибка

Код:
def cat_dog(filename):
    try:
        with open(filename) as f_obj:
            contects = f_obj.read()
    except FileNotFoundError:
        print("File not found")
    else:
        print(contects)
filename = ["cats.txt", "dogs.txt"]

cat_dog(filename)
при вызове filename = ["cats.txt", "dogs.txt"]
ошибка такая TypeError: expected str, bytes or os.PathLike object, not list
но если вызвать filename = "cats.txt". Все норм
То есть один файл открывает и читает нормально а если два файла то не работает
nixage вне форума Ответить с цитированием
Старый 29.05.2019, 19:53   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Ну так пишите цикл или, если всегда два значения, то два опена и т.д.
p51x вне форума Ответить с цитированием
Старый 03.06.2019, 12:37   #3
Mishka_M
Пользователь
 
Регистрация: 11.05.2018
Сообщений: 32
По умолчанию

Добавьте цикл.Так:
Код:
def cat_dog(filename):
    for _ in filename:
        try:
            with open(filename) as f_onj:
                content = f_onj.read()
        except FileNotFoundError:
            print('File not found')
        else:
            print(content)

filename = ["cats.txt", "dogs.txt"]

cat_dog(filename)
или так :
Код:
def cat_dog(filename):
    try:
        with open(filename) as f_onj:
            content = f_onj.read()
    except FileNotFoundError:
        print('File not found')
    else:
        print(content)


filename = ["cats.txt", "dogs.txt"]
for _ in filename:
    cat_dog(_)
должно работать

Последний раз редактировалось Mishka_M; 03.06.2019 в 12:46.
Mishka_M вне форума Ответить с цитированием
Старый 05.06.2019, 18:42   #4
Mishka_M
Пользователь
 
Регистрация: 11.05.2018
Сообщений: 32
По умолчанию

Код:
def cat_dog(filename):
    for _ in filename:
        try:
            with open(filename) as f_onj:
тут ошибка. Должно быть :
Код:
def cat_dog(filename):
    for _ in filename:
        try:
            with open(_) as f_onj:
Но я почему-то уже не могу редактировать свой пост...
Mishka_M вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка error 26: Type mismatch в паскале Yurikus83 Помощь студентам 5 22.04.2013 14:33
Ошибка с переменными(Error 26:Type mismatch) Fdrum Паскаль, Turbo Pascal, PascalABC.NET 0 14.05.2012 22:13
Ошибка с переменными(Error 26:Type mismatch) Fdrum Помощь студентам 0 13.05.2012 18:07
Ошибка run-time error 13 Type mismatch в VBA Kracozebr Microsoft Office Word 9 19.07.2010 16:10
ошибка error loading type library DEsh Общие вопросы Delphi 4 08.04.2010 18:13