def ConvertFile():
FileNameIn = 'Hexdata.dat'
HexFile = open(FileNameIn, 'r')
for Line in HexFile:
print (Line)
print (Binary(Line))
HexFile.close()
到目前为止,我已经知道了,当程序运行时,会将文件中的十六进制数转换为二进制数。这是一个名为Hexdata.dat的文件
我想要做的是将二进制输出保存到名为Binarydata.dat
的文件中我如何在代码中处理此问题?请注意我是Python的新手并没有正确地介绍这一点。我尝试了不同的代码,但它们都没有成功,实际上,它们都是猜测。
我不是要求你为我解决问题,而是要求我如何将程序的输出保存到新的文本文件中。
答案 0 :(得分:3)
你已经大部分时间了。您已经知道如何打开文件进行阅读:
HexFile = open(FileNameIn, 'r')
'r'
表示“开放阅读”。如果您查看documentation for the open
function,您会看到用r
替换w
会打开一个文件进行编写:
OutputFile = open(FileNameOut, 'w')
然后您可以像这样发送输出:
print >>OutputFile, "Something to print"
或者在文件对象上使用write
方法:
OutputFile.write("Something to print\n")
答案 1 :(得分:0)
您当前正在以读取模式打开文件,因此为了写入文件,您需要以缓冲模式打开文件('w')
。引自:http://docs.python.org。您可以使用'r'
替换'w'
轻松完成此操作。
'w' for writing (truncating the file if it already exists
有关详情,请参阅open(name[, mode[, buffering]])
# the file name
FileNameIn = 'Hexdata.dat'
# create a file object: open it with "write" mode
HexFile = open(FileNameIn,"w")
for line in HexFile:
HexFile.write(Binary(line))
HexFile.close()
答案 2 :(得分:0)
您是否尝试过使用open('Binarydata.dat','w')来写入文件?有很多方法可以写入文件,其中大部分都可以在这里找到:http://docs.python.org/tutorial/inputoutput.html
答案 3 :(得分:0)
阅读open function的文档(以写入模式打开文件)和File Objects(将信息写入打开的文件)。
答案 4 :(得分:0)
此脚本中必须包含2个文件。你正在阅读的那个和你正在写的那个。当open要写入的文件时,请使用选项wb
(写入二进制文件)。这两个链接应该可以帮助初学者很少或根本没有Python知识来完成练习:Intro to File Objects和Tutorial on File I/O。