ちょっと修正

id:bonlife さんより助言を頂いたのでスクリプトをちょこっと修正してみました。

def input_from_csv(file,lang="日本語"):
  try:
    # csv ファイルを開く
    f=open(file)
    reader=csv.reader(f)
  except IOError:
    # ファイルを開くのに失敗したら None を返す
    return None
  else:
    # 1行目を取り出す
    row=reader.next()
    # lang に対応する列を決める
    try:
      lang=row.index(lang)
    # if 決まらなかったら
    except ValueError:
      # None を返す
      return None
    # lang が "ラベル" だった場合も None を返す
    if lang==0:
      return None
    # end if
    # リストを作成する
    data=[(x[0], x[lang]) for x in reader]
    # ファイルを閉じる
    f.close()
    # リストを返す
    return data

# テスト用
def print_data(file,lang):
  print "言語:"+lang
  data=input_from_csv(file,lang)
  if data==None:
    print "データがありません"
  else:
    for d in data:
      print d[0], d[1]
  print "========"

# 実行
if __name__=="__main__":
  print_data("string_table.csv","ラベル")
  print_data("string_table.csv","日本語")
  print_data("string_table.csv","英語")
  print_data("string_table.csv","フランス語")
  print_data("no_exist.csv","日本語")
言語:ラベル
データがありません
========
言語:日本語
STR_HELLO こんにちは。
STR_BYE さようなら。
========
言語:英語
STR_HELLO Hello.
STR_BYE Good bye.
========
言語:フランス語
データがありません
========
言語:日本語
データがありません
========

ちょっとスッキリした感じです。
テストコードで存在しないファイルも指定するように変更してみましたが
これもうまく行っているようです。


id:bonlife さんありがとうございました。