因为电脑里不可描述的视频太多,准备清理下。用 py 写脚本,想快速分类并移动文件到指定文件夹,但是在用 shutil 模块复制视频文件的时候,耗时极长,一个 1g 大小的视频大概需要花费 1 分钟左右,而且期间电脑风扇狂转,本人用的 mbp13 寸,想问问大家这是什么情况,有没有更好的解决办法呢?
1
swulling 2018-09-01 14:16:05 +08:00 via iPhone
用 mv 不要用 cp
|
3
ipwx 2018-09-01 14:21:00 +08:00 via iPhone
os.rename 不能跨卷
|
6
ysc3839 2018-09-01 14:36:16 +08:00
@zaaazaa move 比 copy 快是因为 move 在同文件系统下只是修改一下记录,没有复制操作。
操作系统的复制比 Python 快的话可能是因为系统有特别优化。而 Python 的 shutil 仅仅是同步读取然后同步写入。 ``` def copyfileobj(fsrc, fdst, length=16*1024): """copy data from file-like object fsrc to file-like object fdst""" while 1: buf = fsrc.read(length) if not buf: break fdst.write(buf) ``` |
9
likuku 2018-09-01 15:13:53 +08:00
13 寸 mbp,是机械硬盘么?
调用 cp 不如直接呼叫 rsync 来干这事,更可靠。mv 真的风险太大。 |