sys.stdin和sys.stdout报告AttributeError

时间:2018-12-13 08:52:17

标签: python

我试图将sys.stdin和sys.stdout测试为cpp中的cin和cout

providers: [
 AppConfig,
 {
      provide: APP_INITIALIZER,
      useFactory: initializeData,
      deps: [AppConfig, AuthService],
      multi: true
    },
]

如何使这种模式起作用?

1 个答案:

答案 0 :(得分:1)

Python的std::cinstd::cout与C ++中的sys.stdinsys.stdout一样,不是字符串,而是文本流。

要阅读,请分别。写到流中,C ++分别使用运算符>><<

std::cin >> spam;
std::cout << spam;

Python的等效方法是文本流对象的方法read()write()

spam = sys.stdin.read()
sys.stdout.write(spam)

为了将任意数据发送到stdin,您需要创建一个新的流对象,例如io.StringIO –您可以从中进行read()

>>> from io import StringIO
>>> sys.stdin = StringIO('spam')
>>> sys.stdin.read()
'spam'