I am attempting to paste the youtube video URL into the tkinter GUI text box, and have the 'Browse' button initiate a subprocess call that takes a hard-coded youtube-dl code, and adds the text box URL. I can't seem to pass the hard-coded Youtube-dl code, and variable to command line.
Googled multiple things to find answers but can't seem to find any...
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()
ERROR CODE I'M RECEIVING Exception in Tkinter callback Traceback (most recent call last): File "C:\Users\hutch\AppData\Local\Programs\Python\Python37\lib\tkinter__init__.py", line 1705, in call return self.func(*args) File "C:\Users\hutch\Downloads\Desktop\PythonPrograms\YoutubeDownloader.py", line 17, in download subprocess.call(["youtube-dl -x --audio-format mp3 ", path]) File "C:\Users\hutch\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 323, in call with Popen(*popenargs, **kwargs) as p: File "C:\Users\hutch\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 775, in init restore_signals, start_new_session) File "C:\Users\hutch\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 1178, in _execute_child startupinfo) FileNotFoundError: [WinError 2] The system cannot find the file specified
subprocess.call(["youtube-dl", "-x", "--audio-format", "mp3", path]). Or, as youtube-dl is a python program, you can just import it. - Novel