Python3 pickle:预期类型“SupportsWrite[bytes]”,却得到“BinaryIO”

问题描述 投票:0回答:1

PyCharm 2024.2.3.(社区版)中的一个简单程序

import pickle

fruits = ['apples', 'oranges', 'banana']

with open('myData.pkl', 'wb') as f:
    pickle.dump(fruits, f)

PyCharm 向我发出警告:

预期类型“SupportsWrite[bytes]”,却得到“BinaryIO”

程序运行正确,但是如何消除这个警告?

Python 教程说这种简单的 pickle 用法应该可行。

python python-3.x pycharm pickle
1个回答
0
投票

该问题是类型提示问题,但不是错误。要解决该警告,您可以使用

BinaryIO
。我提供了它的代码。这将解决警告。

import pickle
from typing import BinaryIO

fruits = ['apples', 'oranges', 'banana']

with open('myData.pkl', 'wb') as f:
    file: BinaryIO = f
    pickle.dump(fruits, file)

希望对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.