将数据保存到文本文件中

时间:2012-04-10 13:14:59

标签: python

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

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

5 个答案:

答案 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 ObjectsTutorial on File I/O