omi_yang
@omi_yang
я начинающий и еще мало чего понимаю

Работа конвейера в windows с python?

Всем привет! Я ничего не понимаю в работе с конвейером в windows и linux, прошу о помощи.
У меня есть легкая программа которая просто делит файл на чанки read.py.
import hashlib

chunk_size = 9000

with open(readFile, 'rb') as f2:
    i = 0

    while True:

        data = f2.read(chunk_size)

        if data:
            with open(f'chunk_{i}', 'wb') as f3:
                f3.write(data)
        else:
            break

        i += 1

# файл с кол-во чанков


c = str(i)

cFile = r"C:\Users\pc\Desktop\red\c.py"

with open(cFile, 'w') as f4:
    f4.write(c)

path = r'C:\Users\pc\Desktop\e.webp'
with open(path, 'rb') as opened_file:
    content = opened_file.read()
    md5 = hashlib.md5()

    md5.update(content)
    print('Hash Result')
    print()
    print('{}: {}'.format(md5.name, md5.hexdigest()))

print("файл успешно прочитан")


readFile = input("введите полный путь к файлу чтения: ")

Мне нужен конвейер который будет закидывать в программу файл, как я понимаю команда должна выглядеть примерно так: tar -czf 1.tar.gz C:\Users\pc\Desktop\e.webp | read.py
Как видоизменить ее для получения результата? Пожалуйста ну нужно обзываться и ругаться за то что я задаю глупые вопросы, просто ничего в этом не понимаю и нуждаюсь в помощи, большое спасибо!
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 2
mayton2019
@mayton2019
Bigdata Engineer
Конвейер это очень просто. Если эта штука
tar -czf 1.tar.gz C:\Users\pc\Desktop\e.webp
печатает нечто на экране, то следующая штука
read.py
рассматрвиает это как ввод с клавиатуры. Вот вобщем-то и вся работа конвейера.

Да и двоичная информация тоже по конвейеру бегает.

Как менять твой код - непонятно. Тех-задания нету. А брать код за задание нельзя. Ты сам пишешь что он некорректный.
Ответ написан
Комментировать
@res2001
Developer, ex-admin
Вместо входного файла нужно использовать stdin и читать данные из него.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы