2023年6月26日月曜日

pythonでマイナス「-」が含まれるフォルダやファイルをインポートする


pythonでマイナス(ハイフン・ダッシュ)「-」を含むフォルダやファイルをインポートしようとすると、下記のようにシンタックスエラーが発生します。
    from XPT2046-Python.xpt2046 import Touch
^
SyntaxError: invalid syntax

そんな時はimportlibのimport_moduleに文字列としてパスを渡して処理するとエラーを回避できます。
# from XPT2046-Python.xpt2046 import Touch
from importlib import import_module
xpt2046 = import_module('XPT2046-Python.xpt2046')
Touch = xpt2046.Touch

記述量は増えてしまいますが、ファイルやフォルダ名にマイナス「-」が入っていても期待通りにimportできました。

参考:
How to import module when module name has a '-' dash or hyphen in it?

0 件のコメント :