如何解决故障文件的脚本似乎无法正常工作
我是新来的,所以希望这是问这个问题的正确方式。 我制作了一个 python 脚本,它读入一个文件(使用 binascii 模块),然后用另一个文件中的随机行替换行。然后将结果保存为新文件。这个想法是通过这种方式制作故障艺术。但是,如果我在两个 PNG 上运行这个脚本,我会得到一个大部分是黑色的图像,顶部只有一些彩色像素。如果我使用十六进制编辑器并替换随机行,我会得到一个更加错误的结果。我不明白为什么我的代码不这样做。这是我使用的代码?希望可以这样发布。任何帮助将不胜感激,谢谢!
import sys
import binascii
import random
import os
def main():
def glitch(n):
for i in range(len(content_f3)):
if i > header_length:
if i % n == 0:
content_f3[i] = random.choice(content_f2)
def repeatGlitch(l):
for i in l:
glitch(int(i))
def saveResult():
for i in content_f3:
f3.write(binascii.unhexlify(i))
# setup
header_length = 35
f1 = open(sys.argv[1],'rb')
f2 = open(sys.argv[2],'rb')
f3_fileName,f3_extension = os.path.splitext(sys.argv[1])
resultFilename = f3_fileName + '_glitched' + f3_extension
f3 = open(resultFilename,'wb')
content_f1 = [binascii.hexlify(i) for i in f1]
content_f2 = [binascii.hexlify(i) for i in f2]
content_f3 = [i for i in content_f1]
# glitch!
r = sys.argv[3:]
repeatGlitch(r)
saveResult()
print("finshed!")
# close all the files
f1.close()
f2.close()
f3.close()
if __name__ == '__main__':
main()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。