[python3]os.chmod(dirname, 0755)の実行で、invalid tokenエラーが発生する時

カテゴリ: python

python3の環境で、ディレクトリの権限を変更しようとしてos.chmod()を実行すると、invalid tokenエラーが発生することがあります。

プログラム

ディレクトリを作成するだけのプログラムです

import os

dirname = 'path/to/dir'
os.chmod(dirname, 0755)

実行結果

python3の環境で上記のプログラムを実行するとSyntaxError: invalid tokenエラーが出力されました。

$ python --version
Python 3.6.5

$ python test.py
  File "src/test.py", line 4
    os.chmod(dirname, 0755)
                         ^
SyntaxError: invalid token

原因と解決方法

これは、Python2とPython3で8進数を表す方法が変わったたためです。

Python2では、先頭に"0"をつけることで8進数を表していましたが、Python3では、"0o"をつける必要があります。

ですので以下のように書き換えれば良いです。

os.chmod(dirname, 0o755)

接頭語"0o"の覚え方ですが、0x"で16進数(heXadecimal)を表しているので、"0o"は8進数(oct)と考えると覚えやすいです。

こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。