Execute function on object selection
Use the import operator in another.

As commented, rather than importing, then waiting for object selection to rescale, recommend rescaling on import.

Here is script that uses the template  Text Editor &gt; Templates &gt; Python &gt; Operator Import as a starting point.

Note I am using 2.8. If you are using 2.7x or before, adjust to reflect that version accordingly.  Most notably annotations. where the annotation foo : BarProperty() needs to be replaced with assignment foo = BarProperty()

Assumes you are doing little else than choosing a filename of obj, and when selected passes it to the import operator.

After import the new objects are selected, and in the context.selected_objects list. 

Following test script prints out name and a volume based on object dimensions.

import bpy


def read_some_data(context, filepath):

    bpy.ops.import_scene.obj(filepath=filepath)
    for o in context.selected_objects:

        dim = o.dimensions
        vol = dim.x * dim.y * dim.z
        print(o.name, vol)
        # scale based on volume
        if vol &lt; 1:
            o.scale *= 2

    return {'FINISHED'}


from bpy_extras.io_utils import ImportHelper
from bpy.props import StringProperty, BoolProperty, EnumProperty
from bpy.types import Operator


class ImportSomeData(Operator, ImportHelper):
    """This appears in the tooltip of the operator and in the generated docs"""
    bl_idname = "import_test.some_data" 
    bl_label = "Import Some Data"

    filename_ext = ".obj"

    filter_glob: StringProperty(
        default="*.obj",
        options={'HIDDEN'},
        maxlen=255,  # Max internal buffer length, longer would be clamped.
    )

    def execute(self, context):
        return read_some_data(context, self.filepath)


# Only needed if you want to add into a dynamic menu
def menu_func_import(self, context):
    self.layout.operator(ImportSomeData.bl_idname, text="Text Import Operator")


def register():
    bpy.utils.register_class(ImportSomeData)
    bpy.types.TOPBAR_MT_file_import.append(menu_func_import)


def unregister():
    bpy.utils.unregister_class(ImportSomeData)
    bpy.types.TOPBAR_MT_file_import.remove(menu_func_import)


if __name__ == "__main__":
    register()

    # test call
    bpy.ops.import_test.some_data('INVOKE_DEFAULT')