Python-subprocess.popen-使用它播放mp4';s路径
我面临的问题是什么-我正在尝试使用subprocess.popen从文件路径运行mp4 详细信息-我最初尝试: 系统-它可以工作,但不接受字符串变量。或者我没有正确地将变量转换为字符串。我将在下面展示示例图片Python-subprocess.popen-使用它播放mp4';s路径,python,subprocess,popen,Python,Subprocess,Popen,我面临的问题是什么-我正在尝试使用subprocess.popen从文件路径运行mp4 详细信息-我最初尝试: 系统-它可以工作,但不接受字符串变量。或者我没有正确地将变量转换为字符串。我将在下面展示示例图片 subprocess.call-我无法从vlc运行mp4(我必须使用call,因为我必须使用python 2.7.18。我知道它很旧,但我一直在使用它的程序) subprocess.popen-我可以让subprocess.popen打开vlc播放器,但我无法让它使用vlc运行mp4。我不
subprocess.call
-我无法从vlc运行mp4(我必须使用call,因为我必须使用python 2.7.18。我知道它很旧,但我一直在使用它的程序)
subprocess.popen
-我可以让subprocess.popen
打开vlc播放器,但我无法让它使用vlc运行mp4。我不确定这是否是一个争论的问题,或者我只是没有展示如何正确地写这篇文章
主要目标-我试图制作一个脚本,它会询问我想在我的计算机上搜索什么,输入我想搜索的内容后,找到它看到的第一件东西,然后运行它。我正在使用os.walk
查找搜索中的第一个文件,我可以打印它,但无法从它找到的路径值执行
我当前的代码:
import os
import subprocess
def find(name):
for root, dirs, files in os.walk('C:/Users/RKerrigan/Videos/w\\', followlinks=True):
for file in files:
if name in file:
vlc='C:/Program Files/VideoLAN/VLC/vlc.exe'
music=str(os.path.join(root,file))
print(music)
subprocess.popen([vlc])
return
print("Finish")
try:
s=raw_input("name: ")
find(s)
except Exception as e:
print(e)
print("Error")
本期图片-
我正在用一个非常简单的脚本尝试subprocess.popen
,看看是否可以从文件路径运行mp4
我正在用一个非常简单的脚本尝试subprocess.popen
,但使用了一个变量作为文件路径。VLC将打开,但没有mp4
将打开。只有基本程序。
我正在用我正在编写的完整脚本尝试subprocess.popen
。我使用os.walk
查找它能找到的第一个文件,然后我尝试打印它并运行它找到的实际文件。但是,只有VLC打开,没有文件。
我正在用我正在编写的完整脚本尝试操作系统。我喜欢os.system
,因为当我在文件路径中输入一个字符串时,它会工作。它将运行一个mp4
没有问题,但是当我尝试使用os.walk
获取我搜索的内容的值并将其用作它不执行的文件的路径时。此外,它不会像subprocess.popen
那样给出错误。
我正在尝试os.system
,但正在尝试str
函数将值转换为字符串以供使用。-它对我仍然不起作用,或者我做错了。
您需要将第二个参数传递给popen
subprocess.popen([vlc, music])
此处的文档详细介绍了这一部分:
vlc='C:/Program Files/VideoLAN/VLC/vlc.exe'
music=str(os.path.join(root,file))
print(music)
subprocess.popen([vlc])
在循环的每次迭代中,您都将相同的字符串分配给vlc
变量'C:/Program Files/VideoLAN/vlc/vlc.exe'
,使得subprocess.popen([vlc])
调用每次都执行完全相同的操作
合乎逻辑的做法是在调用中使用发现的路径music
:
欢迎来到SO!最好链接python文档。这对我帮助很大!我确实做过(vlc,音乐),但一开始不起作用。我不知道为什么,但后来我查看了vlc,发现它是用\斜杠而不是/斜杠查看路径。我将popen改为([vlc,music]),然后让os.walk使用C:/而不是C:\进行操作,它成功了。非常感谢你!
vlc='C:/Program Files/VideoLAN/VLC/vlc.exe'
music=str(os.path.join(root,file))
print(music)
subprocess.popen([vlc, music])