revisiting the "What am I running on?" question

MRAB python at mrabarnett.plus.com
Sun Feb 17 23:11:02 EST 2019


On 2019-02-18 02:46, songbird wrote:
> 
>    having worked on some other things for a while i
> didn't put much emphasis on working on this until i
> had the other bugs taken care of.
> 
>    so now back into it we can go...  :)
> 
>    what i came up with (sorry, i hate yet another not
> invented here thing, but this is just where i ended up
> after some pondering).
> 
>    simply put.  if i'm running on a computer and i
> don't easily know why kind of computer how can i
> answer this in a quick way without getting overly
> complicated that also will cover most of the easy
> cases?
> 
>    i came up with this:
> 
>    comments?  additions?  clarifications?
> 
>    i don't have a windows system to test this on,
> does it work?
> 
>    thanks  :)
> 
> 
> =====
> import re
> import tempfile
> 
> 
> def sysprobe ():
> 
>      sysprobetmp = tempfile.gettempdir()
> 
>      print ("Temp directory : -->" + sysprobetmp + "<--\n")
> 
>      result = re.search("^/(tmp)|(var)|(usr)|(opt)|(home)", sysprobetmp)
>      try:
>          print ("Result : -->" + result.group(0) + "<--\n")
> 
>          return ("posix")
>      except:
>          pass
>      
>      result = re.search("^[A-Za-z]:", sysprobetmp)
>      try:
>          print ("Result : -->" + result.group(0) + "<--\n")
>          return ("windows")
>      except:
>          pass
> 
Don't use a bare except, it'll catch _any_ exception.

If the regex matches, re.search will return a match object; if it 
doesn't match, it'll return None.

In any case, +1 to Dan's answer.

[snip]



More information about the Python-list mailing list