gpt4 book ai didi

python - 如何使用 Python 3.5.1 递归替换一个目录中多个文件中的字节?

转载 作者:太空宇宙 更新时间:2023-11-03 16:32:25 25 4
gpt4 key购买 nike

我希望通过一次脚本运行在同一目录中使用多个文件来实现以下目标:

fh = open("*.bin", "r+b")  
fh.seek(0)
fh.write(bytes([0x4F, 0x67]))
fh.close()

我的最终目标是让 myByteReplacement.py 运行时(从与文件相同的目录中,或者如果需要的话),打开目录中带有 .bin 扩展名的所有文件,然后替换每个文件中的前两个字节与我指定的相同 2 个字节。

根据我收集的信息(至少对于 Windows),星号作为通配符不起作用。尽管尝试了与 os.walk、glob 以及我在网站上提到的其他解决方案相关的各种解决方案并通过 Google 机器进行研究,但我似乎无法确定这一点。

感谢您提供的任何解决方案或研究要点!

编辑: 根据迄今为止的回复信息,我已经确定了我最终想要实现的目标。这是最终结果,供以后可能偶然发现的人使用。

# This script looks for files of a specific filetype (.bin) in a specified
# directory (C:/Convert). It then replaces the first two bytes of those
# files with 2 bytes that I specify (0x4F, 0x67). Finally, it renames those
# files to what their actual extension should be (.m32).

import os, re

path = "C:/Convert"
os.chdir( path )
files = os.listdir( path )

for filename in files:
if re.match('.*\.bin', filename):
fh = open(filename, "r+b")
fh.seek(0)
fh.write(bytes([0x4F, 0x67]))
fh.close()
name, ext = os.path.splitext(filename)
os.rename(filename, name + ".m32")

最佳答案

你需要做

os.listdir("your directory")  

这将为您提供文件列表。然后在每个文件上执行代码

关于python - 如何使用 Python 3.5.1 递归替换一个目录中多个文件中的字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37494162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com