ルビーでできる
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がそれを処理する方法によってです。