用于现有cod的简单tkinter gui

2024-04-28 15:53:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经编写了一些代码(顺便说一句,我仍然是python和编程方面的新手),我想制作一个tkinter窗口,其中有一个文本框,显示控制台中打印的所有内容,还有一个按钮,运行main()函数。你知道吗

我的现有代码:

import pafy
import os
from pydub import AudioSegment


def downloadSound(videourl):

    url = str(videourl)
    video = pafy.new(url) 

    bestaudio = video.getbestaudio() 
    print(video.title, video.author, video.length)
    bestaudio.download() 

def linklister(linklist):

    f = open('links.txt','r')

    for line in f:
        linklist.append(line.strip())

    f.close()    

def converter():
    dirlist = os.listdir()

    songlist = []

    for i in dirlist:
        if ".webm" in i:
            songlist.append(i)

    for i in songlist:

        sound = AudioSegment.from_file(i)

        imp3 = i.replace(".webm", ".mp3") 

        sound.export(imp3, format="mp3", bitrate="192k")

        print (i, "DONE")

def main():
    ytlinks = []

    linklister(ytlinks)

    for i in ytlinks:
        downloadSound(i)

    print ("downlad complete, proceeding to conversion")

    converter()




try:
    main()

except Exception as e:
    print (e)
    print ("OPPS")

else:
    pass    

Tags: 代码infromimportforosmaindef
1条回答
网友
1楼 · 发布于 2024-04-28 15:53:50

我没有测试过这个,但根据个人经验,这个tkinter代码工作,我无法检查它是否在你的工作。如果此代码不起作用,请在我放置注释的位置添加一个打印来测试它。你知道吗

import sys
import tkinter as tk
import pafy
import os
from pydub import AudioSegment


def downloadSound(videourl):

    url = str(videourl)
    video = pafy.new(url) 

    bestaudio = video.getbestaudio() 
    print(video.title, video.author, video.length)
    bestaudio.download() 

def linklister(linklist):

    f = open('links.txt','r')

    for line in f:
        linklist.append(line.strip())

    f.close()    

def converter():
    dirlist = os.listdir()

    songlist = []

    for i in dirlist:
        if ".webm" in i:
            songlist.append(i)

    for i in songlist:

        sound = AudioSegment.from_file(i)

        imp3 = i.replace(".webm", ".mp3") 

        sound.export(imp3, format="mp3", bitrate="192k")

        print (i, "DONE")

def main():
    ytlinks = []

    linklister(ytlinks)

    for i in ytlinks:
        downloadSound(i)

    print ("downlad complete, proceeding to conversion")




class TextOut(tk.Text):

    def write(self, s):
        self.insert(tk.CURRENT, s)

    def flush(self):
        pass


if __name__ == '__main__':
    root = tk.Tk()
    text = TextOut(root)
    sys.stdout = text
    text.pack(expand=True, fill=tk.BOTH)
    main()#here
    root.mainloop()

相关问题 更多 >