1

誰かがLinuxで使用したことがある場合、その関数を使用するとウィンドウスタイルの行末が返されるpexpectことに気づきましたか? これを取り除く方法を知っていますか?pexpectreadline()

4

1 に答える 1

2

\r\n を返すのは readline() だけではなく、pexpect によって返されるすべてのキャプチャされたテキストには \r\n 行末が含まれます。

ドキュメントには次の説明があります。

readline(self, size=-1)

これは、1 行全体を読み取って返します。末尾の改行は文字列に保持されますが、ファイルが不完全な行で終わっている場合は存在しない可能性があります。注: この readline() は、UNIX でも \r\n ペアを探します。これは、疑似 tty デバイスが返すものだからです。そのため、予想に反して、改行が \r\n として表示されます。EOF がすぐにヒットすると、空の文字列が返されます。現在、サイズ引数はほとんど無視されているため、この動作はファイルのようなオブジェクトの標準ではありません。サイズが 0 の場合、空の文字列が返されます。

\r\n を \n に変換するには、次のようなことができます

line = child.readline()
line.replace('\r\n', '\n')
于 2012-03-19T23:46:43.680 に答える