pythonの基礎 入出力
標準入力は,
raw_input()
でOK。改行文字は自動で取り除かれる(まあ他と同様)。
※python3ではinput()に変更になったらしい
やり方がもう一つ
sysライブラリを使用する方法で,以下の3つがある
なお,改行文字が自動で取り除かれたりはせず,入力文字列をそのまま取得する
sys.stdin.readline()・・・一行を取得し,文字列を返す。
sys.stdin.readlines()・・・複数行を取得し,リストにして返す。
sys.stdin.read()・・・複数行を取得し,文字列を返す。
以上は,以下のサイトを参考にいたしました。
http://www.lifewithpython.com/2014/05/python-get-stdin-standard-input.html
次に,ファイル入出力
まずオープンとクローズは,
f = open("filename.txt", "r") #書き込みは"w"
f.close()
読み込みはさっきの3つと同じものが使えます
f.readline()
f.readlines()
f.read()
書き込みも簡単で,
f.write("string to write to the file")
追加で書き込まれていくと思う
pythonの文字コードエラー
UnicodeDecodeError: 'ascii' codec can't decode byte 0x89 in position 18: ordinal
not in range(128)
pythonでこんなエラーが出たら,,,
デフォルトの文字コードを変更してみると直るかもしれません。
変更の方法は以下の3行を追加するだけ↓(http://www.wakayama-u.ac.jp/~kazama/lab/python/i18n.htmlを参考にさせていただきました)
import sys
reload(sys)
備忘録的に
とりあえず常時開設型のオンラインCTFを進めています。
調べたすぐ出てきた以下の2つが有名なようです。
・CpawCTFさん(https://ctf.cpaw.site/)
・ksnctfさん(http://ksnctf.sweetduet.info/)
CpawCTFの方が簡単な気がします。
これらをやりながら,メモっぽくブログに書き残していく感じにします。
まずひとつ。バイナリ列「D4 C3 B2 A1」は.pcapファイルのヘッダーだということです。
また,linuxの「file」コマンドでファイルの種類を調べることができることを知りました。
HTTPのステータスコード,300番代はリダイレクト関係。
オフィス関連ファイルは,.odf。zip形式。xmlベース。
文字ー数値変換はpythonが便利です。
このスライドシェアのページが大変参考になりました。