Остановить один поток чтения файлов ввода-вывода в PythonPython

Программы на Python
Ответить
Гость
 Остановить один поток чтения файлов ввода-вывода в Python

Сообщение Гость »


Как прервать операцию чтения файла? Например, я пытаюсь прочитать большой файл Tiff на сетевом диске, и иногда это может занять много времени. Например, я хочу иметь возможность отменить операцию чтения одним нажатием кнопки. Я читал о потоковой передаче, но не могу использовать здесь событие, поскольку это не цикл, а одна операция чтения, и я не могу периодически проверять событие остановки..
def start_reading(путь): поток = threading.Thread(target=read_tiff(путь)) поток.start() защита read_tiff (путь): начало = время.время() print('Начать чтение\n') im = cv2.imread(файл) print('Чтение завершено: %.3f' % (time.time() - начало)) защита stop_reading(): .... файл = 'random.tiff' корень = тк.Тк() start_button = tk.Button(root, text="Начать чтение", команда=lambda: start_reading(файл)) start_button.pack() stop_button = tk.Button(root, text="Остановить чтение", команда=stop_reading) стоп_кнопка.пакет() корень.mainloop()
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»