gpt4 book ai didi

Python - 子进程错误

转载 作者:行者123 更新时间:2023-11-28 21:54:45 24 4
gpt4 key购买 nike

我的窗口有一个按钮。如果我单击它,我想启动 VLC 并流式传输 URL。

def startstream():
args = ['C:/Program Files/VideoLAN/VLC/vlc.exe', 'http://dreambox:8001/1:0:19:7B:B:85:C00000:0:0:0:']
subprocess.call(args)

# Buttons
button_tnt = Button(fenster, text = "TNT Serie HD", command = startstream)

这如我所愿。

下面的那个不能像我想要的那样工作,我不知道为什么。

def startstream(url):
args = ['C:/Program Files/VideoLAN/VLC/vlc.exe', url]
subprocess.call(args)

# Buttons
button_tnt = Button(fenster, text = "TNT Serie HD", command = startstream('http://dreambox:8001/1:0:19:7B:B:85:C00000:0:0:0:'))

对于第一个代码,窗口出现但什么也没有发生。如果我点击按钮,流就会开始,完美。

第二个代码:我运行脚本,流立即开始。关闭 VLC 后,我无法通过按钮重新打开流,它没有任何功能。

但是我想用第二个代码。我有多个按钮,所以我只能更改每个按钮的参数。对于第一个代码,我必须为每个流编写一个新函数。

请帮帮我:(

谢谢!

最佳答案

您正在执行 startstream 而不是分配它*。要给它参数,请使用以下内容:

button_tnt = Button(fenster, 
text="TNT Serie HD",
command= lambda: startstream('http://dreambox:8001/1:0:19:7B:B:85:C00000:0:0:0:'))

*具体来说,您正在执行 startstream(..) 并将 that 的结果分配给 command
lambda 将改为创建命令在单击时将调用的函数。

关于Python - 子进程错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23705034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com