因为电脑里不可描述的视频太多,准备清理下。用 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 真的风险太大。 |