ファイルをopenしようとして不思議なエラーが返ってきたら
最近ちょっとはまったコトのメモ.
Pythonでファイルをopenしようとしたら,
>>> open("./hoge","r") open("./hoge","r") Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: an integer is required >>>
予想外なエラー.
調べてみたら,osモジュールのopenが組み込み関数openを上書きしてるのが原因だった.
osモジュールのopen [Python ライブラリリファレンス]
思いっきりドキュメントに"注意"ってあるw.
osモジュールの中には,Unixシステムコールみたいなファイルディスクリプタを返すopenがあるのか.
面倒がって,
from os import *
とかやってはだめなのですね.
納得.