情報学部大学生のダラダラ日記

β日記

機械学習や日記っぽいものを書きます

Pythonのスクリプトをimportするときにエラーが出たのでメモ

スポンサーリンク

はじめに

Pythonスクリプトのimportでファイル名関係でエラーが出たのでメモ

問題

例として以下のファイルをimportしたいとします。

def test():
    a = 'test'
    return a

〇〇.pyである時、普通ならば単に

import 〇〇

とすれば良いです。しかしファイル名が

①"-"(ハイフン)を含む

②数字から始まる

のいずれかを満たすと「SyntaxError: invalid syntax」と出ます。

解決策

今回、例として0a-a.pyを呼び出します。

module = __import__('0a-a')
print(module.test()) #test

__import__()を使ってスクリプトを呼び出します。これはimport 0a-a as moduleと同じように扱うことが可能です。

さいごに

本来、このような手法を使わなくても良いようにファイル名には気を付けましょう。どうしてもハイフンが含まれているファイル名を使わなければならない時にのみ使うようにした方が良さそうです。

 

 

 

スポンサーリンク