0

LETTER,NUMBER のコンマ区切りトークンを含む大きなファイルがあるとします。標準入力から読み取り、各行に NUMBER+1 を出力するプログラムを書きたいとします。非常に些細なプログラム、私は理解しています。ただし、ここに制約があります。この標準からはパイプで 1 回しか読み取ることができず、空のファイルのプログラミングから開始する必要があります。

たとえば、次のようになります。

猫 FILE.csv | python empty_program.py

これにより、必要なコードを作成できるインタラクティブなセッションがポップアップするはずです。empty_program.py は stdin.readline() を呼び出していないため、stdin バッファは適切にそのままです。

このようなことは可能ですか?

これを行うことができるものの 1 つの例は、Excel VBA デバッガー/IDE です。プログラムのソース コードに新しい行を追加し、実行を継続するなど、実行を一時停止することができます。

4

1 に答える 1

0

cat FILE.csv | python empty_program.py さて、python は "empty_program.py" を読み取ろうとし、ファイルが存在すると仮定して何も見つけられず、終了します。ファイルが存在しない場合は、エラーが発生します。私はそれをテストしました[あなたもそれを行うことができたはずです、それほど多くの労力はかかりません-おそらくSOに行って質問を書くよりもはるかに少ないです]。

それで、私の次の考えは、インタラクティブなpythonプロセスを使用することでしたが、標準入力を介して物を供給しているため、機能しません-適切なcsvファイルがなかったので、「cat somefile.c | python」を実行しました。そして、それは「無効な構文」で「int main()」に落ちます。そこまで行って驚いたのですが、それは #include がコメントとして認識されているからだと思います。

ほとんどの対話型プログラミング言語は stdin から読み取るため、それらの言語で記述していることを実際に実行することはできません。

なぜあなたがどちらかをしたいのか、私にはよくわかりません。あなたの最初のプログラムが関連するプログラム コードを生成できる場合、それをファイルに入れて Python にそのファイルを読み取らせないのはなぜですか? IDE はコマンド ライン プログラムと同じではないことに注意してください。何かに一生懸命取り組めば、Python プラグインを使用して Eclipse IDE にアクセスする C プログラムを作成できると確信しています。しかし、それは本当に難しい方法です。なぜ誰もがそれほど多くの努力を費やして、ほとんど達成したくないのか、私にはわかりません.

申し訳ありませんが、あなたがやろうとしていることの要点がよくわかりません。そこには良いアイデアがあると確信していますが、実装の詳細に取り組む必要があると確信しています。

于 2012-12-27T16:44:41.697 に答える