Уведомления

Группа в Telegram: @pythonsu

#1 Май 4, 2014 15:07:13

Art-master
От: Россия, Ростов-на-Дону
Зарегистрирован: 2013-06-08
Сообщения: 78
Репутация: +  1  -
Профиль   Отправить e-mail  

Моргание окна

Доброго времени суток!

При написании кода своего проекта мне понадобилось использовать функцию os.system для выполнения некоторых задач, а точнее для копирования файлов из одной директории в другую.
Данная функция после своего выполнения возвращает строку (а точнее выводит, т.е. не return а print) в консоль. В данной строке прописывается примерно следующее: “Скопировано файлов: N”.

Несмотря на то, что у меня сам код приложения находится в pyw-файле, строка пытается вывестись и поэтому на какое-то мгновение у меня “моргает” окно моего приложения.

Подскажите, пожалуйста, что можно сделать, чтобы предотвратить это “моргание”.

Отредактировано Art-master (Май 4, 2014 21:17:43)

Офлайн

#2 Май 4, 2014 21:49:45

valentjedi
Зарегистрирован: 2014-03-06
Сообщения: 26
Репутация: +  3  -
Профиль   Отправить e-mail  

Моргание окна

Как гласит дока, вместо os.system() следует использовать модуль subprocess.call(). И там можно попробовать перенаправить вывод в null как-то так:

# было
status = os.system("mycmd" + " myarg")
# стало
with open(os.devnull, 'wb') as devnull:
    status = subprocess.call("mycmd" + " myarg", stdout=devnull, shell=True)



#!/usr/bin/env python
# -*- coding: utf-8 -*-

Офлайн

#3 Май 4, 2014 23:42:32

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Моргание окна

Art-master
Для копирования файлов можно воспользоваться модулем shutil, тогда не придется вызывать внешнюю программу - что лучше скажется на вашей программе.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#4 Май 5, 2014 20:09:16

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Моргание окна

valentjedi
у меня “моргает” окно моего приложения
И последнее замечание. Это не окно вашей программы это окно запускаемого процесса.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version