をファイルに書かれた最後の文字の上に私は、SQLファイルを出力Pythonアプリケーションがあります。データが利用可能になった。これはfor
ループ内で行われていない「バックスペース」
sql_string = "('" + name + "', " + age + "'),"
output_files['sql'].write(os.linesep + sql_string)
output_files['sql'].flush()
は、それが書かれています。アプリケーションの実行が終了したときに最後のカンマ文字を「バックスペース」してセミコロンに置き換える方法はありますか?改行の前にコンマを出力し、特定の '書き込み'が最初の書き込みであるかどうかを判断するためにグローバルなBoolを使用することで回避策を考案できると確信しています。しかし、私はそれを "バックスペース"することができれば、アプリケーションはもっときれいになると思う。もちろん、Pythonの方が簡単な方法かもしれません!
各insert
の値の行をリストに入れてからリストを畳み込むことは、このユースケースでは実行可能な解決策ではありません。
あなたは実際にそこに行きたくはありません。出力ファイルを非常に一般的なものにして、パイプ、名前付きパイプ、TCP接続やHTTPポストフィールドなどを表すオブジェクトにすることができます。これらの中には副作用があり、最後の文字を取り戻すことはできません。 –
@ qarma:ありがとうございます。特定のケースでは、私の '出力ファイル'は一般的ではなく、私が記述したテキストファイルですが、私が注意しなければならない副作用がありますか?これはDebian派生OS上で実行されることに注意してください。さらに、なぜ私は出力ファイルを非常に汎用的なものにしたいのか分かりませんが、おそらくあなたは解明することができますか? – dotancohen