As I Please

MTのいんすとーるの練習と、その他びぼうろく・・・

タグ「lf」が付けられているもの


webコンテンツの localキャッシュ時の改行コード問題

jsonの内容を定期的にチェックするのに、一度取得してきた textデータをローカルに保存して、毎回比較(本当は headや not modifiedを利用すべきだろうけど、perlのlibwww,LWP::Simple の mirrorのようなものが見当たらなかった)することに。
単純に、requests.get, write したファイル内容と、次回の取得したデータを比較しても毎回違う結果になって、なぜ?と思ったら、元のテキストファイルが DOS形式(LF+CR)で、writeしたときに LFに置き換えてるということだった。
そのため、毎回取得して比較しても同じということに。
ということで回避策は、open()のときに newline='' のオプションをつけて改行を変更しないということで。
https://www.curict.com/item/1b/1b608b2.html
これでまた3時間。。。

ファイル最終行に 改行が無い csvファイルへ 改行の付与

お行儀が悪い csvファイル出力プログラムがいて、最終行の最後に改行が入っていない。 なので、複数ファイルを cat でつなぐと、次のファイルの先頭行とくっついてしまうという現象が発生。 csvファイルの最後に改行(LF)を追加するのに簡単な方法はなんだろ?ということで、
# echo > lf.bin
# cat lf.bin >> foo.csv
あたりか?echo で引数をつけないと '0x0a'の1byte のファイルをはき出してくれる。 単に、
# echo >> foo.csv
でもいいのか。

ファイル最終行に 改行が無い csvファイルへ 改行の付与

お行儀が悪い csvファイル出力プログラムがいて、最終行の最後に改行が入っていない。 なので、複数ファイルを cat でつなぐと、次のファイルの先頭行とくっついてしまうという現象が発生。 csvファイルの最後に改行(LF)を追加するのに簡単な方法はなんだろ?ということで、
# echo > lf.bin
# cat lf.bin >> foo.csv
あたりか?echo で引数をつけないと '0x0a'の1byte のファイルをはき出してくれる。 単に、
# echo >> foo.csv
でもいいのか。