什么是接受的Python替代C++重载的输入流运算符?

2024-04-29 19:00:50 发布

您现在位置:Python中文网/ 问答频道 /正文

在C++中,您可以这样做,以便轻松地读取数据到类:

istream& operator >> (istream& instream, SomeClass& someclass) {
    ...
}

在python中,我可以找到从控制台读取数据的唯一方法是“raw_input”函数,它对这类东西的适应性不强。有没有一种Python式的方法?在


Tags: 方法函数inputraw读取数据operatorsomeclass适应性
3条回答

您实际上是在寻找反序列化。根据所使用的库,Python有很多种选择。默认值是pythonpickling。有很多其他的选择你可以看看here。在

您可以从系统标准(类似文件的对象):

import sys
input_line = sys.stdin.readline()
# do something with input_line

不,对于“从这个打开的输入文本文件读取类X的下一个实例”没有广泛的python约定。我相信这适用于大多数语言,包括java;C++是其中的一个离群点(许多C++商店禁止在其本地样式指南中使用^ {CD1}})。另一个答案建议,序列化(如果您需要人可读的文本文件,则从JSON或XML到/从JSON或XML)是一种可能的方法,但不会太热(没有标准化的方法将完全通用的类实例序列化为XML或JSON)。在

相关问题 更多 >