подпроцесс:
subprocess
модуль позволяет Вам порождать новые процессы, соединяться с их входными/выводами/ошибками каналами и получать их коды возврата.http://docs.python.org/library/subprocess.html
Использование:
import subprocess process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE) process.wait() print process.returncode
В WPF и Windows Forms главное отличие состоит в том, что UserControl представляет собой набор элементов управления - многократно используемый единый объект, «составленный» из самих нескольких элементов управления.
Если вы создаете единый примитивный элемент управления с новым поведением, вместо создания «элемента управления», состоящего из более мелких элементов управления, вы должны использовать Component / CustomControl / Control вместо UserControl. Компонент обычно представляет собой невизуальное поведение, где CustomControl / Control обычно используется для визуального контроля.
Я обычно расширяю Control или, чаще, UserControl, только когда я хочу упаковать некоторые функции пользовательского интерфейса. Что касается компонентов, я думаю о классическом примере - таймере. Его можно перетащить в конструктор, настроить через панель «Свойства», а затем получить к нему программный доступ через код. Короче говоря, я расширяю Component, когда хочу иметь возможность управлять каким-то связанным состоянием и поведением, объектом без пользовательского интерфейса, через конструктор.
Между компонентом и элементом управления есть одно существенное различие: элементы управления имеют пользовательский интерфейс. Все элементы управления также являются компонентами, но не все компоненты являются элементами управления. Если вам нужно отобразить пользовательский интерфейс, обычно требуется какая-то база управления (Control, UserControl, Form и т. Д.). Если у вас просто есть поведение, например, с компонентом BackgroundWorker, тогда вам нужно будет только производным от Component напрямую.
Еще одно примечание ... и компоненты, и элементы управления могут быть перенесены на поверхность конструктора. Компоненты отображаются в виде значка и метки в специальной области, элементы управления отображаются непосредственно в области конструктора. Однако есть и третье, что вы можете использовать: простой класс. Если вам не нужна поддержка поверхности дизайна, я бы рекомендовал использовать простой класс, а не Component или Control.
В общем, я бы использовал Компонент
, когда у элемента управления нет никакого пользовательского интерфейса (или, по крайней мере, тот, который присутствует в форме). Если это элемент управления пользовательского интерфейса, я бы вместо него создал Пользовательский элемент управления
.