Python中文
首页
教程
问答
标签
搜索
登录
注册
OSError:[Errno 63]文件名太长
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个简短的脚本,需要每天晚上将多个MKV文件合并成一个</p> <pre><code>import os, glob import subprocess concatenated_files = "" os.chdir("/cams/") for index, file in enumerate(glob.glob("*.mkv")): if index == 0: concatenated_files = file else: concatenated_files += " + " + file # print(concatenated_files) returncode = subprocess.call("mkvmerge -o out.mkv " + concatenated_files) </code></pre> <p>我得到以下错误,只有几个文件</p> <pre><code>OSError: [Errno 63] File name too long: 'mkvmerge -o out.mkv video21-06-28_09-12-08-51.mkv + video21-06-28_07-55-36-80.mkv + video21-06-28_09-52-05-79.mkv + video21-06-28_08-47-56-69.mkv + video21-06-28_09-15-04-34.mkv + video21-06-28_09-32-43-25.mkv </code></pre> <p>我计划合并数百个,因此不确定如何使用Python对这种情况进行排序。从外壳上看效果很好</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>也许使用只有三行代码的shell脚本更简单、更清晰:</p> <pre class="lang-sh prettyprint-override"><code>ls /cams/ | grep -E ".+\.mkv$" | while read filename; do filenames="${filenames} ${filename}" done mkvmerge -o out.mkv ${filenames} </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在乒乓球比赛中预测球的轨迹,对于AI球拍预测?
4 回答
如何在乒乓球游戏中阻止球
4 回答
如何在乘法和模中不乘空间?
1 回答
如何在乘法和除以2个不同的数字之间进行交换?
1 回答
如何在也是数据一部分的单个字符上拆分大字符串
9 回答
如何在乾草堆中找到針,有更好的解決方案嗎?
10 回答
如何在事件wxWidgets中传递自定义数据
9 回答
如何在事件中使用lambda i=i?
3 回答
如何在事件中心只接收最近的数据
5 回答
如何在事件发生之前保持云函数运行?
7 回答
如何在事件发生后使页面重定向到同一页面
2 回答
如何在事件回调之间保持python生成器的状态
7 回答
如何在事件处理程序(pythonsocket、sphinx)中保留docstring
2 回答
如何在事件处理程序中更改wxRichTextCtrl的光标位置?
4 回答
如何在事件处理程序中访问外部对象?
10 回答
如何在事件循环中将协程打包为正常函数?
7 回答
如何在事件循环之外运行协同程序?
9 回答
如何在事件循环结束时为并发未来的所有线程调用类方法?
4 回答
如何在事件文件中只保留一份摘要?
4 回答
如何在事件模板中添加事件
10 回答