我可以用Python在一行中读写文件吗?

时间:2012-09-14 13:56:12

标签: python file-io

用红宝石我可以

File.open('yyy.mp4', 'w') { |f| f.write(File.read('xxx.mp4')}

我可以使用Python吗?

2 个答案:

答案 0 :(得分:18)

当然可以:

with open('yyy.mp4', 'wb') as f:
    f.write(open('xxx.mp4', 'rb').read())

请注意那里的二进制模式标志(b),因为您要复制mp4内容,所以不希望python为您重新解释换行符。

如果xxx.mp4很大,那将占用大量内存。请查看shutil.copyfile function以获得更节省内存的选项:

import shutil

shutil.copyfile('xxx.mp4', 'yyy.mp4') 

答案 1 :(得分:3)

Python不是要编写难看的单行代码。

检查shutil模块的文档 - 特别是copyfile()方法。

http://docs.python.org/library/shutil.html