답변:
당신은 사용할 수 있습니다 sys.platform:
from sys import platform
if platform == "linux" or platform == "linux2":
# linux
elif platform == "darwin":
# OS X
elif platform == "win32":
# Windows...
sys.platform보다 세분화 sys.name됩니다.
유효한 값 은 설명서를 참조하십시오 .
“어떤 OS를 실행하고 있습니까?”에 대한 답변도 참조하십시오.
"cygwin"되지 않습니다 "win32".
"linux2"더 이상 가능한 값이 아니며 platform(확증에 대한 링크 된 문서 참조) Python 3.3 이상 만 지원해야하는 경우`또는 platform == "linux2"`절을 안전하게 삭제할 수 있습니다. 첫 번째 조건.
"Linux", "Windows"또는 "Darwin"(Mac) 중 어느 플랫폼에 있는지보다 정밀하게 알고 싶다면 다음을 사용해야합니다.
>>> import platform
>>> platform.system()
'Linux' # or 'Windows'/'Darwin'
이 platform.system기능은 uname내부적으로 사용합니다 .
Linux에서 Windows, Java또는 빈 문자열을 반환한다고 명시하고 싶습니다 . devdocs.io/python~3.7/library/platform#platform.system
확인하여 사용중인 OS에 대한 대략적인 아이디어를 얻을 수 있습니다 sys.platform .
해당 정보가 있으면이를 사용하여 os.uname()보다 구체적인 정보를 수집하기에 적합한 전화를하는 것이 적절한 지 판단 할 수 있습니다 . 유닉스 계열 OS에서 Python 시스템 정보 또는 pywin32 와 같은 것을 사용할 수도 있습니다. Windows 용 .
OS를 신경 쓰지 않고 더 심층적 인 검사를 원한다면 psutil 도 있습니다 .
더 자세한 정보는 platform모듈에 있습니다.
platform모듈을 통해 어떤 이점을 가지고 sys.platform? 언제 어떤 접근 방식을 사용하고 싶습니까?
platform모듈 에서보다 자세하고 구조화 된 정보를 얻습니다 . 설명서 링크를 클릭하십시오.
사용할 수 있습니다 sys.platform.