how to run the "main" section of another module ?
Emile van Sebille
emile at fenx.com
Sun Jul 12 14:48:25 EDT 2009
On 7/12/2009 11:13 AM Stef Mientki said...
>
>>> SM> if __name__ == '__main__':
>>> SM> import db_test
>>> SM> new_globals = {}
>>> SM> new_globals [ '__name__' ] = '__main__'
>>> SM> new_globals [ '__file__' ] = 'not really valuable'
>>> SM> execfile ( 'db_test.py', new_globals )
>>>
>>
>> Why not:
implied here is that you restructure...
>>
>> import db_test
>> db_test.main()
>>
>> I think that is what Aahz meant.
>>
>>
> Yes I tried that too,
> but it gives the following error:
> "module object not callable"
>
>
> db_text.__main__()
> gives error:
> 'module' object has no attribute '__main__'
>
You see, we're further assuming you've structured the module for this
purpose. IOW, your module should end with:
if __name__ == '__main__':
main()
and nothing more. Then, you can do:
import db_test
db_test.main()
Emile
More information about the Python-list
mailing list