답변:
당신은 사용할 수 있습니다 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
.