无法在[whence]部分使用1进入文件并同时写入内容

时间:2015-03-24 12:21:56

标签: python python-3.x

当我使用以下代码打开文件时:

n_val = "Good Bad"
open = testfile.py
outputFile=open(outFile,"r+")
outputFile.read(1)
outputFile.read(1)
outputFile.seek(-1,1)
outputFile.write(n_val)

然后以下错误:     outputFile.seek(-1,1)     io.UnsupportedOperation:不能进行非零相对搜索

但是当我使用以下命令打开文件时: 当我使用以下代码打开文件时:

n_val = "Good Bad"
open = testfile.py
outputFile=open(outFile,"br+") //I just open the file in binary mode
outputFile.read(1)
outputFile.read(1)
outputFile.seek(-1,1)
outputFile.write(n_val)   

然后以下错误:     outputFile.write(n_val)
    TypeError:' str'不支持缓冲区接口

请给我一个解决方案,我可以使用这两个函数来查找给定条件,然后在打开的文件中写入内容。

1 个答案:

答案 0 :(得分:0)

您需要先对字符串进行编码,然后才能将其写入二进制文件:

outputFile=open(outFile,"br+") //I just open the file in binary mode
outputFile.read(1)
outputFile.read(1)
outputFile.seek(-1,1)
outputFile.write(n_val.encode("ascii"))

(或其他编码,如"utf-8",无论你的字符串是什么)