python – Import a file from a subdirectory?

python – Import a file from a subdirectory?

Take a look at the Packages documentation (Section 6.4).

In short, you need to put a blank file named

__init__.py

in the lib directory.

  • Create a subdirectory named lib.
  • Create an empty file named lib__init__.py.
  • In libBoxTime.py, write a function foo() like this:

    def foo():
        print foo!
    
  • In your client code in the directory above lib, write:

    from lib import BoxTime
    BoxTime.foo()
    
  • Run your client code. You will get:

    foo!
    

Much later — in linux, it would look like this:

% cd ~/tmp
% mkdir lib
% touch lib/__init__.py
% cat > lib/BoxTime.py << EOF
heredoc> def foo():
heredoc>     print foo!
heredoc> EOF
% tree lib
lib
├── BoxTime.py
└── __init__.py

0 directories, 2 files
% python 
Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type help, copyright, credits or license for more information.
>>> from lib import BoxTime
>>> BoxTime.foo()
foo!

python – Import a file from a subdirectory?

You can try inserting it in sys.path:

sys.path.insert(0, ./lib)
import BoxTime

Leave a Reply

Your email address will not be published.