【发布时间】:2021-12-24 22:02:32
【问题描述】:
这是项目
from tkinter import *
import os
window = Tk()
window.title("web2video")
window.geometry("330x140+200+100")
photo = PhotoImage(file = "icon.png")
window.iconphoto(False, photo)
urltxt = Label(window, text = "video Url").place(x = 30, y = 10)
url = Entry(window, width=30)
url.insert(0,"")
url.grid(row=1, column=0, padx=100, pady=10)
def Message():
if not url.get(): return
os.system(f"echo ^<html^> > %USERPROFILE%\AppData\Local\Temp\web2video.html")
os.system(f"echo ^<body style=\"background-color:black;\"^> >> %USERPROFILE%\AppData\Local\Temp\web2video.html")
os.system(f"echo ^<video controls src=\"{url.get()}\" width=\"100%\" height=\"100%\" ^>^</video^> >> %USERPROFILE%\AppData\Local\Temp\web2video.html")
os.system(f"echo ^</body^> >> %USERPROFILE%\AppData\Local\Temp\web2video.html")
os.system(f"echo ^</html^> >> %USERPROFILE%\AppData\Local\Temp\web2video.html")
os.system(f"start %USERPROFILE%\AppData\Local\Temp\web2video.html")
btnSendMessage = Button(window, text="Start", width=20, command=Message)
btnSendMessage.grid(row=5, column=0, padx=10, pady=10)
window.mainloop()
如果条目不包含标签.,我想关闭程序或显示错误页面
例如
这段代码是错误的,但为了澄清
def Message():
if url.get() not "." : return
os.system(f"echo ^<html^> > %USERPROFILE%\AppData\Local\Temp\web2video.html")
os.system(f"echo ^<body style=\"background-color:black;\"^> >> %USERPROFILE%\AppData\Local\Temp\web2video.html")
os.system(f"echo ^<video controls src=\"{url.get()}\" width=\"100%\" height=\"100%\" ^>^</video^> >> %USERPROFILE%\AppData\Local\Temp\web2video.html")
os.system(f"echo ^</body^> >> %USERPROFILE%\AppData\Local\Temp\web2video.html")
os.system(f"echo ^</html^> >> %USERPROFILE%\AppData\Local\Temp\web2video.html")
os.system(f"start %USERPROFILE%\AppData\Local\Temp\web2video.html")
【问题讨论】:
-
if '.' not in url.get():?我认为您可能需要重复基础知识并且不要使用os.system -
使用
subprocess模块。避免使用 os.system。 -
你能给我一个子流程的例子或想法吗
-
@user17293338,只要稍微搜索一下,就会出现很多
subprocess的例子。 pythonspot.com/python-subprocess -
其实
start这样使用os.system就可以了。
标签: python tkinter subprocess os.system