我这里有一个非常奇怪和令人困惑的问题。我正在尝试使用 VLC 媒体播放器自动打开和关闭 .wmv 文件。我最初用来打开文件的代码效果很好:
# set directory
os.chdir("Path/to/folder/containing/wmvfiles")
# start the given file name
os.startfile("ExampleFileName.wmv")
然后,当我准备好播放完毕时,我将使用以下代码关闭该视频
os.system("taskkill /im vlc.exe")
这太棒了!但是......我需要它来全屏打开。 Sooo,我用以下代码替换了启动视频的初始代码:
os.system
('""C:\Program Files\VideoLAN\VLC\\vlc.exe" -f "c:\videoFiles\\videoName.wmv""')
效果很好!它以全屏方式打开,一切都很好。然而......taskkill并没有关闭进程。尽可能具体地说,此代码不会关闭它,VLC 程序只会保持打开状态:
# open the file in full screen
os.system
('""C:\Program Files\VideoLAN\VLC\\vlc.exe" -f "c:\videoFiles\\videoName.wmv""')
# close the file
os.system("taskkill /im vlc.exe")
奇怪吧?情况变得更糟。当我以这种方式打开文件时:
os.system
('""C:\Program Files\VideoLAN\VLC\\vlc.exe" -f "c:\videoFiles\\videoName.wmv")
然后我进入命令提示符并输入
taskkill /im vlc.exe
它关闭了。我完全不知道为什么会出现以下情况:
os.system("taskkill /im vlc.exe")
仅当我以第一种方式启动文件 (os.startfile) 以及直接从命令提示符运行命令时才有效。这可能是一个令人困惑的问题,但这是一个非常令人困惑的问题,任何帮助或意见将不胜感激,谢谢!
最佳答案
不确定。但是,我不会使用 os
,我会使用 subprocess
。
类似于:
import shlex, subprocess
p = subprocess.Popen(shlex.split("cmd of some sort"))
#
# More code
#
p.terminate()
关于python - 无法使用带有 os.system 的 taskkill 来终止 VLC.exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41862369/