繁体   English   中英

二进制文件不在python中以“ab”模式写入数据

[英]binary file not writing data in "ab" mode in python

我在 ./data 文件夹(在我的项目目录中)中有 user.dat 二进制文件问题

import os,pickle
absolutePath = os.path.dirname(__file__)
def ap():
    data = ["B","2"]
    with open(absolutePath+"\\data\\user.dat","ab") as f:
        pickle.dump([data],f)

注意:在附加模式下,转储函数在执行时返回None

问题不在于模式,而在于您的文件路径。 在“ab”模式下,程序尝试查找文件并向其添加内容,而在“wb”模式下,它会创建文件并将内容写入其中。 这就是为什么您的代码适用于“wb”模式但不适用于“ab”模式的原因。 请检查您尝试附加的文件和您在程序中提供的路径是否相同。 我运行了以下程序,它运行良好。

import os,pickle
def ap():
    data = ["B","2"]
    with open("/home/ubuntu/data/user.dat","ab") as f:
        pickle.dump([data],f)
ap()

~

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM