【发布时间】:2020-12-22 02:20:42
【问题描述】:
我面临什么问题-我正在尝试使用 subprocess.popen 从文件路径运行 mp4。
详细信息 - 我最初尝试过: os.system - 它可以工作,但它不需要字符串变量。或者我没有正确地将我的变量转换为字符串。我将在下面展示示例图片。
subprocess.call - 我无法让它从 vlc 运行 mp4(我必须使用调用,因为我必须使用 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。我喜欢os.system,因为它在我将字符串放入文件路径时起作用。它将运行mp4 没问题,但是当我尝试使用os.walk 获取我搜索的值并将其用作它不执行的文件的路径时。此外,它不会像subprocess.popen 那样给出错误。
我尝试使用os.system,但尝试使用str 函数将值转换为字符串以供使用。 - 它仍然对我不起作用,或者我做错了。
【问题讨论】:
标签: python subprocess popen