Posted at

Python: コメント文を認識してスキップする

以下の入力ファイルがあり、コメント文を#で示しているとする。

# title 

 # subtitile
aaa
bbb
ccc

コメント文だと認識させるには、文字列のメソッドであるstartswithを使用すれば良い。

例えば、以下のPythonのコードを動かしてみる:

with open("test.txt") as fin:

for line in fin:
if line.startswith("#"): continue
print(line.rstrip())

すると

    #

aaa
bbb
ccc

おや、これでは#の前に空白があるとコメント文だと認識してくれないようだ。この問題を解決するためには、line.startswith("#")line.strip().startswith("#")に変えれば良い:

with open("test.txt") as fin:

for line in fin:
if line.strip().startswith("#"): continue
print(line.rstrip())

すると

aaa

bbb
ccc

となり解決。