我正在编写一份试卷进行修订。我被困在问题11 A: http://clc2.uniservity.com/GroupDownloadFile.asp?GroupID=8034&ResourceId=852839
我将如何解决这个问题?我找不到解释如何进行这种编程的任何地方。我需要在额外的数据文件中将输出从十六进制保存到二进制转换。我会使用.write吗?
问题:
此问题涉及ConvertFile程序 目前,该过程转换从文本文件HexData.dat读取的十六进制数字 并在控制台上显示二进制等效项。 该过程应将二进制等效项保存在名为BinaryData.dat的文本文件中。
(a)编写代码来执行此操作。 将整个过程ConvertFile的代码复制到你的答案中。
当前代码:
def ConvertFile():
FileNameIn = 'Hexdata.dat'
HexFile = open(FileNameIn, 'r')
for Line in HexFile:
print (Line)
print (Binary(Line))
HexFile.close()
我大致知道该怎么做,而不是如何将输出保存在新文件中。这就是我要求的,而不是解决方案。
答案 0 :(得分:1)
您已经打开了一个文件进行阅读。从代码中,您可以使用
打开输出文件out_file = open(file_name_out, 'w')
然后写信给它:
out_file.write('%s\n' % (Binary(Line)))
您还可以使用标准输出的重定向。这可以在命令行的操作系统级别完成。
c:\tools>python show_hex_file.py > output.txt
更多相关信息:https://en.wikipedia.org/wiki/Redirection_(computing)
答案 1 :(得分:0)
这里的家庭作业问题令人不悦。不过,我可以给你一个指针:这是你不会通过谷歌搜索找到它的问题之一。您需要应用之前学到的知识来解决问题。
例如,您可能已经知道如何读取和写入文件。如果问题只是将十六进制转换为二进制怎么办?你会怎么做?