Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Import modules from different folders

I have following arrangement of files:

python
|---- main.py
|---- files
      |---- folder1
            |---- a.py, a1.py, ...
      |---- folder2
            |---- b.py, b1.py, ...

I wanted to import my modules a.py and b.py to main.py. For this I used the following commands in main.py:

a = 'C:/python/files/folder1'
sys.path.insert(0, a)
from files.folder1 import *

However, I am unable to import modules from folder1 (similarly for folder2).

I get an error:

No module named files.folder1

I cannot use import command as there are many Python files in folder1, folder2, ...

What am I missing here?

like image 412
user741592 Avatar asked Nov 28 '12 06:11

user741592


People also ask

How do I import a module into a different folder?

We can use sys. path to add the path of the new different folder (the folder from where we want to import the modules) to the system path so that Python can also look for the module in that directory if it doesn't find the module in its current directory.


1 Answers

Add a file __init__.py (can be blank) to folders files, folder1 and folder2. Then you got a package files with sub-packages folder1 and folder2. After this you can import from the main.py like this:

from files.folder1 import *
like image 72
Yunzhi Ma Avatar answered Sep 18 '22 15:09

Yunzhi Ma