0
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 新手,并没有正确介绍这一点。我尝试了不同的代码,但它们都没有成功,实际上,它们都是猜测。

我不是要您为我解决问题,而是要问我如何将程序的输出保存到新的文本文件中。

4

5 回答 5

3

你已经走了大部分路了。您已经知道如何打开文件进行阅读:

HexFile = open(FileNameIn, 'r')

那里的'r'意思是“开放阅读”。如果您查看function的文档open,您会看到将 a 替换为raw将打开一个文件进行写入:

OutputFile = open(FileNameOut, 'w')

然后你可以像这样向它发送输出:

print >>OutputFile, "Something to print"

或者使用write文件对象上的方法:

OutputFile.write("Something to print\n")
于 2012-04-10T13:20:38.187 回答
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()
于 2012-04-10T13:19:25.640 回答
0

您是否尝试过使用 open('Binarydata.dat', 'w') 写入文件?有很多方法可以写入文件,其中大部分可以在这里找到:http: //docs.python.org/tutorial/inputoutput.html

于 2012-04-10T13:20:34.047 回答
0

阅读open 函数(以写入模式打开文件)和File Objects(将信息写入打开的文件)的文档。

于 2012-04-10T13:21:33.373 回答
0

您必须在此脚本中有 2 个文件。你正在阅读的那个和你正在写的那个。在打开要写入的文件时使用选项wb(写入二进制文件) 。这两个链接应该可以帮助没有或没有 Python 知识的初学者完成您的练习:文件对象简介文件 I/O 教程

于 2012-04-10T13:25:35.237 回答