python-3.x - Python3 Subprocess.run 找不到相对引用的文件
问题描述
我正在使用 subprocess.run() ,它使用引用文件的参数作为"./0.mkv"
它告诉我找不到文件“./0.mkv”,我需要引用整个路径还是有办法./
正确引用?
或者也许这完全是另外一回事,我不确定。
这是实际的代码:
temp_file_path = "./0.mkv"
final_file_path = "./0hardsubs.mkv"
cmd = ['ffmpeg', '-i', f'"{temp_file_path}"', \
'-filter_complex', f'"subtitles=\'{temp_file_path}\'"', \
f'"{final_file_path}"', '-y', '-loglevel', 'warning', '-stats']
subprocess.run(cmd)
这是输出:
"./0.mkv": No such file or directory
解决方案
原来这是另一回事。我尝试print(os.path.getsize(temp_file_path))
并收到了正确的输出,因此 Python 能够清楚地看到该文件。
一旦我删除了 ffmpeg 输入周围的双引号,过滤和输出一切正常。不知道这怎么可能,但我想这是 subprocess.run 的一个功能,它会自动清理参数?
对于任何感兴趣的人,这是最终输出:
temp_file_path = "./0.mkv"
final_file_path = "./0hardsubs.mkv"
cmd = ['ffmpeg', '-i', f'{temp_file_path}', \
'-filter_complex', f'subtitles=\'{temp_file_path}\'', \
f'{final_file_path}', '-y', '-loglevel', 'warning', '-stats']
subprocess.run(cmd)
推荐阅读
- angular - 如何在 RxJS subscribe() angular 中捕获 http 响应代码
- powershell - 在 Powershell 中将文本附加到文本框
- html - 我想将我的网格项目居中以 HTML 和 CSS 模板为中心
- python-2.7 - Python-Arduino 网络
- linux - 有没有比 LINUX 中的 VS Code 更好的代码浏览和开发的 IDE
- python - 如何解决“必须始终传递 `Layer.call` 的第一个参数。” 问题
- python - Python中的return关键字是否将具有特定参数的函数的值保存在内存中?
- bash - Bash - 相同的命令替换输出,但回显时不同
- python - 在 Windows 10 上安装 SleepPY 时遇到问题
- sql - 你如何加入两个计算的sql语句?