How do I check if I'm running on Windows in Python? [duplicate]
Python os module
Specifically for Python 3.6/3.7:
os.name: The name of the operating system dependent module imported. The following names have currently been registered: 'posix', 'nt', 'java'.
In your case, you want to check for 'nt' as
import osif os.name == 'nt': ...
There is also a note on
The platform module provides detailed checks for the system’s identity.
Are you using
system() Returns the system/OS name, e.g. 'Linux', 'Windows' or 'Java'. An empty string is returned if the value cannot be determined.
If that isn't working, maybe try
platform.win32_ver and if it doesn't raise an exception, you're on Windows; but I don't know if that's forward compatible to 64-bit, since it has 32 in the name.
win32_ver(release='', version='', csd='', ptype='') Get additional version information from the Windows Registry and return a tuple (version,csd,ptype) referring to version number, CSD level and OS type (multi/single processor).
os.name is probably the way to go, as others have mentioned.
For what it's worth, here's a few of the ways they check for Windows in platform.py:
if sys.platform == 'win32':#---------if os.environ.get('OS','') == 'Windows_NT':#---------try: import win32api#---------# Emulation using _winreg (added in Python 2.0) and# sys.getwindowsversion() (added in Python 2.3)import _winregGetVersionEx = sys.getwindowsversion#----------def system(): """ Returns the system/OS name, e.g. 'Linux', 'Windows' or 'Java'. An empty string is returned if the value cannot be determined. """ return uname()