Member 14801968 Ответов: 1

Вызов функции внутри iglob в Python


Привет, ребята, у меня есть 10 csv-файлов, и я хочу отправить каждый файл в одну и ту же функцию, я пытаюсь использовать что-то вроде этого кода, но я получаю эту ошибку

TypeError: ожидаемый str, байт или ОС.Объект PathLike, не _io.TextIOWrapper

Что я уже пробовал:

path = 'C:/Users/lap/Desktop/ff/fr*.csv'
for file in iglob(path):
    with open(file, "r") as f:
        h = HuffmanCoding(f)
        output_path = h.compress()
        print("Compressed file path: " + output_path)
        decom_path = h.decompress(output_path)
        print("Decompressed file path: " + decom_path)

ЗАПИСКА::
Когда я использую этот код только с одним путем, он работает хорошо!!
path = 'C:/Users/lap/Desktop/ff/fr*.csv'
        h = HuffmanCoding(path)
        output_path = h.compress()
        print("Compressed file path: " + output_path)
        decom_path = h.decompress(output_path)
        print("Decompressed file path: " + decom_path)

1 Ответов

Рейтинг:
1

Richard Deeming

Я не "делаю" Python, но очевидная проблема заключается в том, что вы opening файл в коде, который не работает, в то время как вы просто передаете путь в коде, который действительно работает.

Попробуйте просто пройти по тропинке вместо этого:

path = 'C:/Users/lap/Desktop/ff/fr*.csv'
for file in iglob(path):
    h = HuffmanCoding(file)
    output_path = h.compress()
    print("Compressed file path: " + output_path)
    decom_path = h.decompress(output_path)
    print("Decompressed file path: " + decom_path)


Member 14801968

готово! спасибо