I am trying to import a module from a different directory dynamically. I am following an answer from this question. I have a module named bar in a directory named foo. The main script will be running in the parent directory to foo.
Here is the code i have thus far in my test script (which is running in the parent directory to foo)
#test.py
import imp
mod = imp.load_source("bar","./foo")
and code for bar.py
#bar.py
class bar:
def __init__(self):
print "HELLO WORLD"
But when i run test.py I get this error:
Traceback (most recent call last):
File "C:\Documents and Settings\user\Desktop\RBR\test.py", line 3, in <module>
mod = imp.load_source("bar","./foo")
IOError: [Errno 13] Permission denied
To load dynamically a module call import(path) as a function with an argument indicating the specifier (aka path) to a module. const module = await import(path) returns a promise that resolves to an object containing the components of the imported module.
So there's four different ways to import: Import the whole module using its original name: pycon import random. Import specific things from the module: pycon from random import choice, randint. Import the whole module and rename it, usually using a shorter variable name: pycon import pandas as pd.
The imp module exposes the implementation of Python's import statement. The imp module includes functions that expose part of the underlying implementation of Python's import mechanism for loading code in packages and modules.
imp.load_source
requires the pathname + file name of the module to import, you should change your source for the one below:
mod = imp.load_source("bar","./foo/bar.py")
Appears to be a simple pathing problem - check __file__
or cwd... Maybe try an absolute file path first? - This imp example may help.
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