0

現在、親ディレクトリに別のPythonファイルをインポートする必要があるPythonファイルがあります。問題は、インポートしたいファイルに数字で始まる名前が付いていることです。数値で始まる親ディレクトリからモジュールをインポート

ファイルの構造以下の通りである:私は123.pyファイルをインポートしたい

parent/ 
├── 123.py 
└── child/ 
    └─── my_file.py 

、これを達成するための方法ですが?

答えて

3

いいえ、これは有効なPythonモジュール名ではありません。手紙から始めて、それを何か他のものと呼んでください。

1

前の答えは、モジュール/変数の名前を付ける場合は、数字で開始しないでください。しかし、そのような名前のモジュールをインポートする必要がある場合でも、それは可能です。

例えば、モジュール123.pyから変数xにアクセスするには:あなたの質問の他の部分については

>>> from importlib import import_module 
>>> onetwothree = import_module('123') 
>>> onetwothree.x 

、親ディレクトリにあるモジュールは、あなたが最初にあなたのSYSパスにそのディレクトリを追加することができます。

を上記
>>> import sys 
>>> sys.path.append('path/to/dir') 
0

Read more about naming conventions from PEP 8

、それはMODUに名前を付けることが望ましいではありませんそれは、物事がもっと複​​雑になるためです。 PEP 8では、ネーミングは小文字で、アンダースコアを使用して読みやすくすることを推奨しています。 PEP 8はルールのセットではなく、ガイドラインです。モジュール名が必要な場合は、Lgiroの答えに従うことができます。

インポートできるもう1つの方法は、__init__.pyファイルと相対インポートを使用することです。 child.py

from .. import parent 

Question related to relative import

で次に

parent/ 
├──__init__.py 
├── parent.py 
└── child/ 
    ├───__init__.py 
    └─── child.py 

関連する問題