how to pass value of a variable to import statement in python

import, python, string, syntax-error, variable-assignment

Solution

If you do not want to import the `importlib` module, this does it:

import sys
s = sys.argv[lastIndex]
def is_save(s):
    #test if s is a valid argument
    return True or False

if is_save(s):
    exec('from %s import *'%s)

Note: the `is_save` function is needed to avoid abuse of the script since the usage of `exec` (or `eval`) is potentially dangerous.

Problem

I'm really new to python. I'm using python<2.7. I have to import a file whose name I don't know at start. In fact I have to pass the name of file through command prompt, now I have read the name and stored in variable, but I don't know how to pass it to import statement. I'm trying the code ``` str = sys.argv[lastIndex] from "%s" import *,str ``` but it's giving the error ``` File "IngestDataToMongo.py", line 86 from "%s" import *,str ^ SyntaxError: invalid syntax ``` So how to do it. Also is it possible with python <2.7, because for some reasons I can't change the version of Python or install anything where this code is running.

Original source

Related problems