我正在尝试将 bash 脚本转换为 python,并且我有一段代码想要更好地理解。脚本:
checkzero()
{
dd < "$1" bs=1 skip="$2" count=1 2> /dev/null | \
LANG=C grep -q -z '^$'
}
while true; do
if checkzero "$initramfs" $end; then
end=$((end + 4))
while checkzero "$initramfs" $end; do
end=$((end + 4))
done
break
fi
....
我的理解是逐字节验证文件以查找特定字符,如果找到该字符则停止。
with open("initramfs", "rb") as f:
byte = f.read(1)
while byte != "":
byte = f.read(1)
我的问题是翻译这部分 grep -q -z '^$'
。我如何翻译 python 中的 '^$'。
答案 0 :(得分:1)
如何翻译 python 中的 '^$'。
它是 grep -q -z '^$'
,在这个上下文中 dd bs=1 count=1
它只是检查字节是否是零字节。
在python中只需检查字节是否等于0:
if byte == b'\x00':