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?
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.
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 *
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With