我试图将sys.stdin和sys.stdout测试为cpp中的cin和cout
providers: [
AppConfig,
{
provide: APP_INITIALIZER,
useFactory: initializeData,
deps: [AppConfig, AuthService],
multi: true
},
]
如何使这种模式起作用?
答案 0 :(得分:1)
Python的std::cin
和std::cout
与C ++中的sys.stdin
和sys.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'