【python】windowsではopenの引数にフォルダを指定するとPermissionErrorになる
最近はじめて知った仕様なのですが、windowsではタイトルの通りになります。
Linuxの場合。
$ mkdir hoge $ python >>> open("hoge") Traceback (most recent call last): File "<stdin>", line 1, in <module> IsADirectoryError: [Errno 21] Is a directory: 'hoge'
大変わかりやすいエラーが出てくれます。hogeはディレクトリだからファイルとしてopenできない。当たり前です。
windowsで同じことをやると、
>mkdir hoge >python >>> open("hoge") Traceback (most recent call last): File "<stdin>", line 1, in <module> PermissionError: [Errno 13] Permission denied: 'hoge'
なんですか、このPermissionError: [Errno 13]というエラーは。これを見て最初に思うのは「なんか権限設定ミスったかな」ということですが、さにあらず。うっかりディレクトリをファイルとしてopenしようとしてしまっているのです。
windowsを中心に使う人は覚えておきましょう。