将bash转换为python,在文件内容中查找“^$”字符的位置

时间:2021-07-28 11:41:33

标签: python bash

我正在尝试将 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 中的 '^$'。

1 个答案:

答案 0 :(得分:1)

<块引用>

如何翻译 python 中的 '^$'。

它是 grep -q -z '^$',在这个上下文中 dd bs=1 count=1 它只是检查字节是否是零字节。

在python中只需检查字节是否等于0:

if byte == b'\x00':