I have a directory that stores all the .py files.
bin/
main.py
user.py # where class User resides
dir.py # where class Dir resides
I want to use classes from user.py and dir.py in main.py.
How can I import these Python classes into main.py?
Furthermore, how can I import class User
if user.py is in a sub directory?
bin/
dir.py
main.py
usr/
user.py
Python 3
Same
directory
.import file:
log.py
import class:
SampleApp()
.or
directory is
basic
.import in file:
log.py
.import class:
SampleApp()
.If user.py and dir.py are not including classes then
is not working. You should then import as
Python 2
Make an empty file called
__init__.py
in the same directory as the files. That will signify to Python that it's "ok to import from this directory".Then just do...
The same holds true if the files are in a subdirectory - put an
__init__.py
in the subdirectory as well, and then use regular import statements, with dot notation. For each level of directory, you need to add to the import path.So if the directory was named "classes", then you'd do this:
Python 3
Same as previous, but prefix the module name with a
.
if not using a subdirectory:to import from the same directory
to import from sub directory the directory should contain
file other than you files then
from directory import your_file
I just learned (thanks to martineau's comment) that, in order to import classes from files within the same directory, you would now write in Python 3:
Python3
use
and
like so