Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
3 / 3 / 0
Регистрация: 04.01.2016
Сообщений: 169

Фоновая задача

01.12.2021, 18:44. Показов 803. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята подскажите, как проверить через онлайн компилятор, что задача работает фоном, и можно какой нибудь командой в консоле это проверить? Ещё выходит ошибка почему то QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-runner'
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from urllib.request import urlopen
from PyQt5.QtCore import QThread
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QPushButton
class Downloader(QThread):
    def __init__(self, url, filename):
        super().__init__()
        self._url = url
        self._filename = filename
    def run(self):
        # Открываем  URL.
        with urlopen(self._url) as r:
            with open(self._filename, "wb") as f:
                # Чтение содержимого и запись его в новый файл.
                f.write(r.read())
class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Пример загрузки файла")
        self.resize(400, 300)
        self.label = QLabel("Нажмите кнопку , чтобы начать загрузку.",
            self)
        self.label.setGeometry(20, 20, 200, 25)
        self.button = QPushButton("Начать скачивание", self)
        self.button.move(20, 60)
        self.button.pressed.connect(self.initDownload)
    
    def initDownload(self):
        self.label.setText("Загрузка файла...")
        # Отключение кнопки на время загрузки файла.
        self.button.setEnabled(False)
        # Выполнение загрузки в новом потоке.
        self.downloader = Downloader(
            "https://www.python.org/ftp/python/3.7.2/python-3.7.2.exe",
            "python-3.7.2.exe"
        )
        # Qt вызовет метод `downloadFinished()`, когда поток завершится.
        self.downloader.finished.connect(self.downloadFinished)
        self.downloader.start()
    
    def downloadFinished(self):
        self.label.setText("Файл загружен!")
        # Сброс кнопки.
        self.button.setEnabled(True)
        # Удаление потока после его использования.
        del self.downloader
if __name__ == "__main__":
    app = QApplication([])
    window = MainWindow()
    window.show()
    app.exec_()
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.12.2021, 18:44
Ответы с готовыми решениями:

Фоновая обработка копирования
Требуется фоново отслеживать процесс копирования. Я пробовал отслеживать нажатие ctrl+c и это работает, но только в случае если юзер...

Как сделать так чтобы фоновая функция не перебивала основной процесс работы бота aiogram python
Пишу телеграм бота в котором определенная функция должна выполняться каждые 10 секунд, но когда эта функция вызывается, то перестает...

Фоновая задача
Как можно сделать так, чтобы приложение выполняло фоновую работу, даже когда нет активных сессий?

1
290 / 205 / 68
Регистрация: 18.09.2019
Сообщений: 407
Записей в блоге: 58
06.12.2021, 10:40
как проверить через онлайн компилятор, что задача работает фоном
Ну, например, сравнить идентификаторы потоков - основного, который GUI, и дополнительного.
Поскольку сам QThread живёт в основном потоке, а код его метода run() исполняется в дополнительном,
то сделать это можно, например, с помощью вспомогательного объекта:
Python
1
2
3
4
5
6
7
8
9
    def run(self):
        print('main thread id =', hex(id(self.thread()))
        proxy = QObject()
        print('another thread id =', hex(id(proxy.thread()))
        # Открываем  URL.
        with urlopen(self._url) as r:
            with open(self._filename, "wb") as f:
                # Чтение содержимого и запись его в новый файл.
                f.write(r.read())
выходит ошибка почему то QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-runner'
Это ж типовая ошибка для X11, если PyQt устанавливали не из штатных пакетов, а баловались с pip-ом.
Решения можно нагуглить, там их много, они разные, всё зависит от конкретной ситуации.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.12.2021, 10:40
Помогаю со студенческими работами здесь

Фоновая задача php
Задача заключается вот в чем. Есть файл скажем размером 300 МБ его нужно скачать через php на сервер. Когда я запускаю такую задачу она...

Фоновая музыка
Можно как нибудь написать фоновую музыку в css3 или html5 или в кам другом формате но чтоб во всех браузерах работало

фоновая картинка
Подскажите, пожалуйста, как на сайте установить фоновую картинку на весь экран?

Фоновая картинка
Добрый день, есть одна фоновая картинка, которая дублируется по всей странице сайта, скажи пожалуйста как заменить участок этой картинки,...

Фоновая картинка
Добрый день! на привере этого сайта http://www.lostfilm.tv/ ...хочу так же сделать фон(только я буду делать фиксированую, чтоб при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru