我有一个Python脚本,它读取一个标记不可读扇区的文件(通常是从光学介质读取的),以允许在不同的光学读取器上重新尝试读取上述不可读扇区。
我发现,为了创建所包含的ISO9660/UDF文件系统的副本,我的脚本不能与块设备(例如/dev/sr0)一起工作,因为os.stat().st_size
为零。算法目前需要预先知道文件大小;我可以更改它,但是(知道块设备大小)问题仍然存在,这里没有回答,所以我打开了这个问题。
我知道以下两个相关的SO问题:
因此,我要问:在Python中,如何获得块设备文件的文件大小?
另一个可能的解决方案是
为了Python 2的可移植性,
or f.tell()
部分存在-file.seek()在python2中不返回任何内容。魔法常数} 替换。
2
可以用^{我找到的“最干净”(即不依赖外部卷和最可重用)Python解决方案是打开设备文件并在最后查找,返回文件偏移量:
基于Linux特定ioctl的解决方案:
当然,其他unix对于req、buf、fmt有不同的值。
相关问题 更多 >
编程相关推荐