Запустите команду cmd с простой кнопкой в wxpython
Привет, ребята, я сделал простой графический интерфейс для запуска одной строки кода, до сих пор я запускаю через cmd команда
youtube-dl.py http://www.youtube.com/ --extract-audio --audio-формат mp3
Теперь я хочу запустить эту команду с моим графическим интерфейсом.
Мой GUI это:
#!/usr/bin/python
import wx
APP_SIZE_X = 300
APP_SIZE_Y = 200
class MyButtons(wx.Dialog):
def __init__(self, parent, id, title):
wx.Dialog.__init__(self, parent, id, title, size=(APP_SIZE_X, APP_SIZE_Y))
wx.Button(self, 1, 'Close', (50, 130))
wx.Button(self, 2, 'Run', (150, 130), (110, -1))
self.Bind(wx.EVT_BUTTON, self.OnClose, id=1)
self.Bind(wx.EVT_BUTTON, self.OnRun, id=2)
self.Centre()
self.ShowModal()
self.Destroy()
def OnClose(self, event):
self.Close(True)
def OnRun(self,event):
print "ok for now"
app = wx.App(0)
MyButtons(None, -1, 'buttons.py')
app.MainLoop()
Мне нужна помощь, пожалуйста, и спасибо за вашу помощь...
1 ответ
Решение
Вы можете просто импортировать подпроцесс и вызывать ваш скрипт таким образом. Что-то вроде этого:
def OnRun(self,event):
path = "/path/to/youtube-dl.py"
url = "http://www.youtube.com/"
subprocess.Popen(path, url, "--extract-audio", "--audio-format", "mp3")
См. Документы для получения дополнительной информации: http://docs.python.org/2/library/subprocess.html