Code Snippets

Wolfgang Maier wolfgang.maier at biologie.uni-freiburg.de
Wed Nov 1 16:01:15 EDT 2017


On 01.11.2017 18:25, Stefan Ram wrote:
>    I started to collect some code snippets:
> 
>    Sleep one second
> 
> __import__( "time" ).sleep( 1 )
> 
>    Get current directory
> 
> __import__( "os" ).getcwd()
> 
>    Get a random number
> 
> __import__( "random" ).random()
> 
>    And so on. You get the idea.
> 
>    However, reportedly, all those snippets are anti-patterns
>    because they use »__import__«.
> 
>    But what I like about them: You just paste them in where
>    you want them to be, and your done.
> 
>    What I'm supposed to do instead, I guess, is:
> 
>    Sleep one second
> 
> import time
> ...
> time.sleep( 1 )
> 
>    Get current directory
> 
> import os
> ...
> os.getcwd()
> 
>    Get a random number
> 
> import random
> ...
> random.random()
> 
>    Now, the user has to cut the import, paste it to the top
>    of his code, then go back to the list of snippets, find
>    the same snippet again, copy the expression, go to his code,
>    then find the point where he wanted to insert the snippet again,
>    and finally insert the snippet. And still there now is a
>    risk of name collisions. So, it seems to me that __import__
>    is just so much better!
> 

I'm not sure why you think this has to do with import vs __import__.
If you're worried bout having things on separate lines, you could write:

import os; os.getcwd()

,etc., which is actually saving a few characters :)






More information about the Python-list mailing list