別の光学式リーダーで読み取り不能なセクターを再試行できるように、読み取り不能なセクターをマークするファイルを (通常は光学メディアから) 読み取る Python スクリプトがあります。
含まれている ISO9660/UDF ファイルシステムのコピーを作成するために、スクリプトがブロック デバイス (/dev/sr0 など) で動作しないことがわかりましたos.stat().st_size
。アルゴリズムは現在、事前にファイルサイズを知る必要があります。それを変更することはできますが、(ブロック デバイスのサイズを知るという) 問題は残っており、ここでは回答されていないため、この質問を開きます。
私は、次の 2 つの関連する SO の質問を認識しています。
- ブロックデバイスのサイズを決定します(/proc/partitions、ctypes による ioctl)
- Pythonでファイルサイズを確認するには? (非特殊ファイルについて)
したがって、私は尋ねています: Python では、ブロックデバイスファイルのファイルサイズを取得するにはどうすればよいですか?