我试着写一个二进制(* .bin)文件,遇到了问题。 当我使用以下代码时,它不会向文件写入任何内容:
abc = str.encode("sabd")
f=open("sbd.bin",'wb')
f.write(abc)
f.close
但是,当我使用以下代码时,它运行良好:
abc = str.encode("sabd")
with open("sbd.bin",'wb') as f:
f.write(abc)
我使用Win + Python3。
答案 0 :(得分:3)
而不是f.close
,请尝试f.close()
,看看这是否有效,因为close()
是一种方法。
答案 1 :(得分:0)
我建议将数据刷新到文件中,因为您错过了这个并且会导致文件无法创建或写入。例如file.flush()
将创建该文件(如果不存在)并将数据写入其中。
来源:https://www.tutorialspoint.com/python3/file_flush.htm并按照cdlane的建议,使用file.close()
关闭文件,因为您调用的方法是获取变量或其他内容。