Python에서 현재 OS를 찾으려면 어떻게 해야 하나요?
제목에서 알 수 있듯이 현재 운영체제를 python으로 찾으려면 어떻게 해야 하나요?
사용자가 읽을 수 있는 데이터를 원하는 경우 platform.platform()을 사용할 수 있습니다.
>>> import platform
>>> platform.platform()
'Linux-3.3.0-8.fc16.x86_64-x86_64-with-fedora-16-Verne'
platform
에는 다른 유용한 방법도 있습니다.
>>> platform.system()
'Windows'
>>> platform.release()
'XP'
>>> platform.version()
'5.1.2600'
다음은 현재 위치를 식별하기 위해 할 수 있는 몇 가지 다른 호출입니다. linux_distribution 및 dist는 최신 버전의 python에서 가져온 것 같습니다.따라서 여기에 래퍼 기능이 있습니다.
import platform
import sys
def linux_distribution():
try:
return platform.linux_distribution()
except:
return "N/A"
def dist():
try:
return platform.dist()
except:
return "N/A"
print("""Python version: %s
dist: %s
linux_distribution: %s
system: %s
machine: %s
platform: %s
uname: %s
version: %s
mac_ver: %s
""" % (
sys.version.split('\n'),
str(dist()),
linux_distribution(),
platform.system(),
platform.machine(),
platform.platform(),
platform.uname(),
platform.version(),
platform.mac_ver(),
))
이 스크립트의 출력은 몇 가지 다른 시스템(Linux, Windows, Solaris, MacOS)에서 실행되며 아키텍처(x86, x64, Itanium, power pc, sparc)는 https://github.com/hpcugent/easybuild/wiki/OS_flavor_name_version 에서 구할 수 있습니다.
예: Solaris on sparc의 장점:
Python version: ['2.6.4 (r264:75706, Aug 4 2010, 16:53:32) [C]']
dist: ('', '', '')
linux_distribution: ('', '', '')
system: SunOS
machine: sun4u
platform: SunOS-5.9-sun4u-sparc-32bit-ELF
uname: ('SunOS', 'xxx', '5.9', 'Generic_122300-60', 'sun4u', 'sparc')
version: Generic_122300-60
mac_ver: ('', ('', '', ''), '')
또는 M1의 MacOS
Python version: ['2.7.16 (default, Dec 21 2020, 23:00:36) ', '[GCC Apple LLVM 12.0.0 (clang-1200.0.30.4) [+internal-os, ptrauth-isa=sign+stri']
dist: ('', '', '')
linux_distribution: ('', '', '')
system: Darwin
machine: arm64
platform: Darwin-20.3.0-arm64-arm-64bit
uname: ('Darwin', 'Nautilus.local', '20.3.0', 'Darwin Kernel Version 20.3.0: Thu Jan 21 00:06:51 PST 2021; root:xnu-7195.81.3~1/RELEASE_ARM64_T8101', 'arm64', 'arm')
version: Darwin Kernel Version 20.3.0: Thu Jan 21 00:06:51 PST 2021; root:xnu-7195.81.3~1/RELEASE_ARM64_T8101
mac_ver: ('10.16', ('', '', ''), 'arm64')
저는 주로 플랫폼을 이용합니다. sys.platform
는 Linux, 기타 Unix 및 OS X를 구별합니다.os.name
" 입니다.posix
모든 것을 위해.
자세한 내용은 플랫폼모듈을 참조하십시오.기계 아키텍처, OS 및 OS 버전, Python 버전 등에 대한 정보를 제공하는 크로스 플랫폼 기능을 갖추고 있습니다.또, 특정의 Linux 디스트리뷰션등의 기능을 취득할 수 있습니다.
import os
print(os.name)
이것은 통상적으로 필요한 필수 정보를 제공합니다.예를 들어 Windows의 다른 에디션을 구별하려면 플랫폼 고유의 방법을 사용해야 합니다.
https://docs.python.org/library/os.html
Greg의 투고를 보완하기 위해 MacOS, Linux, Unix 등을 포함하는 Posix 시스템에 있는 경우 os.uname()을 사용하여 어떤 종류의 시스템인지 더 잘 알 수 있습니다.
뭔가 비슷한 게 있어요.
import os
if os.name == "posix":
print(os.system("uname -a"))
# insert other possible OSes here
# ...
else:
print("unknown OS")
언급URL : https://stackoverflow.com/questions/110362/how-can-i-find-the-current-os-in-python
'programing' 카테고리의 다른 글
MariaDB에서 생성된 열 정의의 사용자 정의 함수? (0) | 2022.10.08 |
---|---|
인쇄용 if 스테이트먼트를 인라인으로 쓰는 방법 (0) | 2022.10.08 |
python에서 목록 항목 집합을 구성하는 방법은 무엇입니까? (0) | 2022.10.08 |
클래스 정의의 목록 이해에서 클래스 변수 액세스 (0) | 2022.10.08 |
React에서 중첩된 상태 특성을 업데이트하는 방법 (0) | 2022.10.08 |