用红宝石我可以
File.open('yyy.mp4', 'w') { |f| f.write(File.read('xxx.mp4')}
我可以使用 Python 做到这一点吗?
你当然可以:
with open('yyy.mp4', 'wb') as f:
f.write(open('xxx.mp4', 'rb').read())
请注意那里的二进制模式标志 ( b
),因为您正在复制mp4
内容,所以您不希望 python 为您重新解释换行符。
如果很大,那将占用大量内存xxx.mp4
。查看该shutil.copyfile
函数以获得更节省内存的选项:
import shutil
shutil.copyfile('xxx.mp4', 'yyy.mp4')
Python 不是要编写丑陋的单行代码。
检查 shutil 模块的文档 - 特别是 copyfile() 方法。
您想要复制文件,不要手动读取然后写入字节,使用文件复制功能,在这种简单的情况下,出于多种原因,这些功能通常更好更高效。
如果你想要一个真正的单行,你可以用分号替换换行符:
import shutil; shutil.copyfile("xxx.mp4","yyy.mp4")
避免这种情况!我这样做一次是为了加速一个与 Python 完全无关的极其具体的案例,但是通过我的python -c "Put ️ code here"
命令行中存在换行符以及Meson处理它的方式。