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