ファイルを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 *

とかやってはだめなのですね.
納得.