Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 未知字符串转换为原始字符串_Python_String_Tkinter_Pytube - Fatal编程技术网

Python 未知字符串转换为原始字符串

Python 未知字符串转换为原始字符串,python,string,tkinter,pytube,Python,String,Tkinter,Pytube,所以我有一个浏览按钮,它指示下载的路径,但由于它输出了一个常规字符串,所以它不会下载,因为其中涉及反斜杠,而且它们不会被随意解释。编辑:我添加了一些代码的其他部分,因为有些部分不是很清楚 def browse(): global folder_path filename = filedialog.askdirectory() Path = filename print(Path) BROWSEbutton = tk.Button(src, text="Browse

所以我有一个浏览按钮,它指示下载的路径,但由于它输出了一个常规字符串,所以它不会下载,因为其中涉及反斜杠,而且它们不会被随意解释。编辑:我添加了一些代码的其他部分,因为有些部分不是很清楚

def browse():
    global folder_path
    filename = filedialog.askdirectory()
    Path = filename
    print(Path)
BROWSEbutton = tk.Button(src, text="Browse", font="Courier 12", command=browse).place(x=425,y=0)
def Convert():
    try:   
        video = yt.YouTube(URL.get()).streams.first()
        try:
            video.download(Path)
            print("succesful")
        except:
            print("error")
            msgb.showerror("Error","Invalid Path")     
    except:
        print("error")    
        msgb.showerror("Error","Invalid URL")
CONVERTbutton = tk.Button(src, text="Convert", font="Courier 12",command=Convert).place(x=243,y=220)

  • 您正在定义一个全局变量,例如
    folder\u path
    ,但未使用它
  • convert()中的路径未在本应使用全局变量
    folder\u path
    的函数中定义
  • filedialog.askdirectory()
    给出的路径也适用于
    video.download()
  • 删除这些错误后,您的代码应该

    folder_path=""
    def browse():
        global folder_path
        folder_path = filedialog.askdirectory()
        print(folder_path)
    
    def Convert():
        global folder_path
        try:   
            video = yt.YouTube(URL.get()).streams.first()
            try:
                video.download(folder_path)
                print("succesful")
            except:
                print("error")
                msgb.showerror("Error","Invalid Path")     
        except:
            print("error")    
            msgb.showerror("Error","Invalid URL")
    
    BROWSEbutton = tk.Button(src, text="Browse", font="Courier 12", command=browse).place(x=425,y=0)
    CONVERTbutton = tk.Button(src, text="Convert", font="Courier 12",command=Convert).place(x=243,y=220)
    

    希望这对你有帮助

    最好也打印例外消息。反斜杠的解释应该无关紧要。运行代码时会发生什么。您如何知道它们没有被正确处理?如果此处的缩进与实际代码匹配,则
    browse()
    是一个完全无用的函数-它要求用户选择一个目录,然后在函数返回后无法将用户的选择存储在仍然存在的任何位置。1。您的示例显示了常见的陷阱:。2.在
    Convert
    内部不需要
    global folder\u path
    。3.未指定任何异常类型(纯异常除外)是错误的做法。