我正在尝试创建一个python程序来读取文件中的值,并以某种格式将它们写入另一个文件。让我详细解释一下我的任务!
我有一个在十六进制中有图像像素值的文件。
AA 12 C5 95 ..。
我想将这个值列表转换成这样的格式
0: AA; 1: 12; 2: C5; 3: 95; ..。
我随身带着以下代码
def makeAddress(address, HEX):
return str("\t%s : %s;" % (address, HEX));
imageFile = open("Image.txt", "r")
mifFile = open("INSTRUCTION_FILE.mif", "w")
address = 0;
for line in imageFile:
mifFile.write(makeAddress(address, line))
address = address + 1;
imageFile.close()
mifFile.close()但是当我试图运行这个程序时,输出是;
0: AA 1: 12 2: C5 ;3: 95 ;.
为什么我不能让;与每一行内联,而不是把它放到第二行呢?有什么建议吗?:)提前谢谢!
发布于 2017-05-24 03:36:00
下面是您的代码的修改版本,可以工作。在您的示例中,每个数字之间有一个空行,因此我添加了一个测试来处理这个问题,因为这将导致不正确的输出。
def makeAddress(address, HEX):
return str("\t%s : %s;" % (address, HEX));
imageFile = open("Image.txt", "r")
mifFile = open("INSTRUCTION_FILE.mif", "w")
address = 0;
for line in imageFile:
if line.strip(): # Checks if line is empty string
mifFile.write(makeAddress(address, line.strip()) + "\n")
address = address + 1;
imageFile.close()
mifFile.close()https://stackoverflow.com/questions/44148266
复制相似问题