Python モジュール (正確にはpython-dvdvideo ) を使用して ISO イメージのクローンを作成しようとしています。提供されたクラスは、既にコンピューター上にある ISO ファイルへのファイルパスを渡すと正常に動作しますが、代わりに CDROM ドライブのドライブ文字を渡そうとすると例外がスローされます。
ライブラリのコードをすばやく調べたところ、次に示すように、クラスが通常のファイルまたはブロックの特殊なデバイス ファイルのいずれかを想定していると判断しました。
def __init__(self, filename):
s = os.stat(filename)
if stat.S_ISREG(s.st_mode):
f = self.File(filename)
elif stat.S_ISBLK(s.st_mode):
f = DvdCssFile(filename)
else:
raise RuntimeError
これは私の質問につながります: Windows CDROM ドライブをこれらのいずれかとして扱う方法はありますか? Linux がこの点でどのように機能するか (Linux は CDROM ドライブを /dev/* の下のブロック デバイス ファイルとして扱う) については漠然と知っていますが、Windows がドライブを認識する方法については詳しくありません。