반응형
python 스크립트를 실행하는 Windows 컴퓨터의 이름을 가져오고 있습니까?
네트워크에 파이썬 스크립트를 실행하는 Windows 컴퓨터가 몇 대 있습니다.이 스크립트를 실행하는 컴퓨터에 따라 스크립트에서 다른 구성 옵션 세트를 사용해야 합니다.
python 스크립트에서 컴퓨터 이름을 어떻게 얻을 수 있을까요?
예를 들어 스크립트가 DARK-TOWER라는 이름의 컴퓨터에서 실행되고 있다고 가정해 보겠습니다.이거는 다음과 같습니다.
>>> python.library.get_computer_name()
'DARK-TOWER'
사용할 수 있는 스탠다드 또는 서드파티 라이브러리가 있습니까?
3가지 옵션이 있는 것으로 나타났습니다(앞에서 답변한2가지 옵션 포함).
>>> import platform
>>> import socket
>>> import os
>>> platform.node()
'DARK-TOWER'
>>> socket.gethostname()
'DARK-TOWER'
>>> os.environ['COMPUTERNAME'] # WORK ONLY ON WINDOWS
'DARK-TOWER'
import socket
socket.gethostname()
https://mail.python.org/pipermail/python-list/2006-April/397494.html 에서
import os
os.getenv('COMPUTERNAME')
에릭 팔라코비치 카가 말했듯이 이 세 가지 변종을 사용할 수 있습니다.
함께 사용하는 것이 좋습니다.
def getpcname():
n1 = platform.node()
n2 = socket.gethostname()
n3 = os.environ["COMPUTERNAME"]
if n1 == n2 or n1 == n3:
return n1
elif n2 == n3:
return n2
else:
raise Exception("Computernames are not equal to each other")
크로스패턴 어플리케이션을 개발할 때는 확실히 하는 것이 좋습니다.
Python Scrips는 Windows 시스템에서 실행되므로 Win32 API Get Computer Name 또는 Get Computer Name을 사용해야 합니다.예
정규화된 DNS 이름 또는 NETB를 얻을 수 있습니다.IOS 이름 또는 다양한 이름.
import win32api
win32api.GetComputerName()
>>'MYNAME'
또는 다음 중 하나를 선택합니다.
import win32api
WIN32_ComputerNameDnsHostname = 1
win32api.GetComputerNameEx(WIN32_ComputerNameDnsHostname)
>> u'MYNAME'
import socket
pc = socket.gethostname()
print pc
gethostname이 잘 작동하겠네요.
언급URL : https://stackoverflow.com/questions/799767/getting-name-of-windows-computer-running-python-script
반응형
'programing' 카테고리의 다른 글
| Windows 서비스가 프로그램 방식으로 재시작하려면 어떻게 해야 합니까? (0) | 2023.04.14 |
|---|---|
| 명령줄에서 .bash_profile을 새로고침하는 방법 (0) | 2023.04.14 |
| SSIS 패키지를 사용하여 Excel 파일을 루프하여 데이터베이스에 로드하려면 어떻게 해야 합니까? (0) | 2023.04.14 |
| Git의 다른 브랜치에 현재 변경을 커밋하는 방법 (0) | 2023.04.14 |
| 한 목록에 다른 목록의 요소가 포함되어 있는지 확인합니다. (0) | 2023.04.09 |