如何在二进制文件中使用 seek()?

How can I use seek() in a binary file?

我正在创建一个简单的工具来编辑一些特定的二进制值,因此我需要使用 seek() 来控制偏移位置,但它没有 returning 十六进制值,而是显示了我的每个值在括号中输入。 我为此使用了一个函数,只要我在 Tkinter 中打开一个文件,它就会被一个命令激活。

这是我的做法:

def openFile():
    itaFile = filedialog.askopenfilename(
        filetypes=[("ITA Files", ".ITA"), ("All Files", "*")])
    itaOpened = open(itaFile, "rb+")
    itaOpened.read()
    a = itaOpened.seek(6)
    print(a)
    itaOpened.close()

我需要它 return 我在偏移量 06 处得到这个值: https://i.stack.imgur.com/ICFPa.png

我该如何解决? 如果我不够具体,请告诉我,我会更详细。

seek 更改文件位置但不读取任何内容。它一般不知道要读多少。搜索后您可以读取 1 个字节。附带说明一下,不要以超出您需要的权限打开 - 无需在代码中创建不必要的故障点。

def openFile():
    itaFile = filedialog.askopenfilename(
        filetypes=[("ITA Files", ".ITA"), ("All Files", "*")])
    with open(itaFile, "rb") as itaOpened:
        a = itaOpened.seek(6)
        a = itaOpened.read(1)
    print(a)