Я пытаюсь вставить URL-адрес видео YouTube в текстовое поле GUI tkinter, и кнопка «Обзор» инициирует вызов подпроцесса, который принимает жестко запрограммированный код youtube-dl, и добавляет URL-адрес текстового поля.
Кажется, я не могу передать жестко запрограммированный код Youtube-dl и переменную в командную строку.
Погуглил несколько вещей, чтобы найти ответы, но не могу найти ни одного ...
from tkinter import *
import tkinter as tk
from tkinter import ttk
import os
import subprocess
root = Tk()
root.geometry("900x800")
Title = root.title( "JJ's Youtube Downloader")
PathTextBox = Text(root,height = 2)
PathTextBox.grid(row = 4,column = 1,columnspan = 2)
path = PathTextBox.get('1.0',END)
def download():
import subprocess
subprocess.call(["youtube-dl -x --audio-format mp3 ", path])
BrowseButton = Button(root,text="Browse ",command = download)
BrowseButton.grid(row = 2,column = 2)
root.configure(background='ivory2')
HeadLabel1 = Label(root,text="Image ")
HeadLabel1.grid(row = 1,column = 1,sticky=(E))
HeadLabel2 = Label(root,text="Reader ")
HeadLabel2.grid(row = 1,column = 2,sticky=(W))
InputLabel = Label(root,text = "INPUT IMAGE")
InputLabel.grid(row = 2, column = 1)
PathLabel = Label(root,text = "Path:")
PathLabel.grid(row = 3,column = 1,sticky=(W))
DataLabel = Label(root,text = "DATA IN IMAGE:")
DataLabel.grid(row = 6,column = 1,sticky=(W+E+N+S))
ResultTextBox = Text(root,height = 30,padx = 1, pady = 1)
ResultTextBox.grid(row = 7,column = 1,columnspan = 4,padx=3,
pady=3,sticky=W+E+N+S)
root.mainloop()
КОД ОШИБКИ, КОТОРЫЙ Я ПОЛУЧАЮ
Исключение в обратном вызове Tkinter
Traceback (последний вызов был последним):
файл
"C: \ Users \ hutch \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ tkinter__init __. Py", строка 1705, в вызов
вернуть self.func (* аргументы)
Файл "C: \ Users \ hutch \ Downloads \ Desktop \ PythonPrograms \ YoutubeDownloader.py", строка 17, в загрузке
subprocess.call (["youtube-dl -x --audio-format mp3", путь])
Файл "C: \ Users \ hutch \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ subprocess.py", строка 323, в вызове
с Popen (* popenargs, ** kwargs) в качестве p:
Файл "C: \ Users \ hutch \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ subprocess.py", строка 775, в init
restore_signals, start_new_session)
Файл "C: \ Users \ hutch \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ subprocess.py", строка 1178, в _execute_child
STARTUPINFO)
FileNotFoundError: [WinError 2] Системе не удается найти указанный файл