Hướng dẫn python get hostname and username - python lấy tên máy chủ và tên người dùng

Vì nhiều lý do, ứng dụng Python của bạn có thể muốn biết tên người dùng của người dùng đã đăng nhập cùng với một vài chi tiết khác như đường dẫn đến thư mục nhà của họ và tên máy chủ hệ thống của họ.

Trong Python, bạn có thể sử dụng Thư viện GetPass để tìm nạp những thứ này.

Nhận tên người dùng

Chạy bên dưới để lấy tên người dùng

import getpass
username = getpass.getuser()

print(f"Hello {username}")

Đầu ra

Trên Linux bạn thấy

Hướng dẫn python get hostname and username - python lấy tên máy chủ và tên người dùng

Điều này cũng sẽ hoạt động trên Windows

Hướng dẫn python get hostname and username - python lấy tên máy chủ và tên người dùng

Nhận đường dẫn đến thư mục nhà

import os.path

homedir = os.path.expanduser("~")
print(homedir)

Đầu ra

Trên Linux bạn thấy

Hướng dẫn python get hostname and username - python lấy tên máy chủ và tên người dùng

Điều này cũng sẽ hoạt động trên Windows

Hướng dẫn python get hostname and username - python lấy tên máy chủ và tên người dùng

Nhận đường dẫn đến thư mục nhà

import socket
hostname = socket.gethostname()
print(hostname)

Đầu ra

Trên Linux bạn thấy

Hướng dẫn python get hostname and username - python lấy tên máy chủ và tên người dùng

Điều này cũng sẽ hoạt động trên Windows

Hướng dẫn python get hostname and username - python lấy tên máy chủ và tên người dùng

Nhận đường dẫn đến thư mục nhà

Trên Linux

Tôi đang viết một chương trình trò chuyện cho một mạng cục bộ. Tôi muốn có thể xác định máy tính và lấy tên máy tính đặt người dùng với Python.

Hướng dẫn python get hostname and username - python lấy tên máy chủ và tên người dùng

Itay grudev

6.8164 Huy hiệu vàng53 Huy hiệu bạc84 Huy hiệu đồng4 gold badges53 silver badges84 bronze badges

Hỏi ngày 24 tháng 11 năm 2010 lúc 21:33Nov 24, 2010 at 21:33

Hướng dẫn python get hostname and username - python lấy tên máy chủ và tên người dùng

Sử dụng

import os.path

homedir = os.path.expanduser("~")
print(homedir)
6 và chức năng
import os.path

homedir = os.path.expanduser("~")
print(homedir)
7 của nó. Điều này sẽ nhận được
import os.path

homedir = os.path.expanduser("~")
print(homedir)
8 của máy tính nơi trình thông dịch Python đang chạy:

import socket
print(socket.gethostname())

người đàn ông thiếc

156K41 Huy hiệu vàng209 Huy hiệu bạc298 Huy hiệu Đồng41 gold badges209 silver badges298 bronze badges

Đã trả lời ngày 24 tháng 11 năm 2010 lúc 21:36Nov 24, 2010 at 21:36

Hướng dẫn python get hostname and username - python lấy tên máy chủ và tên người dùng

AlexalexAlex

62.5K46 Huy hiệu vàng150 Huy hiệu bạc179 Huy hiệu đồng46 gold badges150 silver badges179 bronze badges

5

Cả hai đều là khá di động:

import platform
platform.node()

import socket
socket.gethostname()

Bất kỳ giải pháp nào sử dụng các biến môi trường

import os.path

homedir = os.path.expanduser("~")
print(homedir)
9 hoặc
import socket
hostname = socket.gethostname()
print(hostname)
0 không thể di động. Ngay cả khi nó hoạt động trên hệ thống của bạn khi bạn chạy nó, nó có thể không hoạt động khi chạy trong các môi trường đặc biệt như Cron.

Đã trả lời ngày 24 tháng 11 năm 2010 lúc 21:53Nov 24, 2010 at 21:53

Robertrobertrobert

32.1k8 Huy hiệu vàng52 Huy hiệu bạc72 Huy hiệu đồng8 gold badges52 silver badges72 bronze badges

8

Dù sao thì bạn cũng sẽ tải mô -đun HĐH, vì vậy một đề xuất khác sẽ là:

import os
myhost = os.uname()[1]

Đã trả lời ngày 13 tháng 3 năm 2013 lúc 19:06Mar 13, 2013 at 19:06

mike0042mike0042mike0042

1.7131 Huy hiệu vàng10 Huy hiệu bạc2 Huy hiệu đồng1 gold badge10 silver badges2 bronze badges

9

Thế còn :

import platform

h = platform.uname()[1]

Trên thực tế, bạn có thể muốn có một cái nhìn cho tất cả các kết quả trong

import socket
hostname = socket.gethostname()
print(hostname)
1

Esailija

Huy hiệu vàng 136K2323 gold badges267 silver badges319 bronze badges

Đã trả lời ngày 2 tháng 1 năm 2012 lúc 10:14Jan 2, 2012 at 10:14

3

import socket
hostname = socket.gethostname()
print(hostname)
2 và
import socket
hostname = socket.gethostname()
print(hostname)
3 không luôn luôn hoạt động. Trong Cron Jobs và WSDL, tên máy chủ HTTP không được đặt. Sử dụng cái này thay thế:

import socket
socket.gethostbyaddr(socket.gethostname())[0]

Nó luôn luôn (ngay cả trên Windows) trả về một tên máy chủ đủ điều kiện, ngay cả khi bạn xác định một bí danh ngắn trong /etc /máy chủ.

Nếu bạn xác định bí danh trong /etc /máy chủ thì

import socket
hostname = socket.gethostname()
print(hostname)
4 sẽ trả lại bí danh.
import socket
hostname = socket.gethostname()
print(hostname)
5 làm điều tương tự.

Tôi gặp phải một trường hợp những điều trên không hoạt động. Đây là những gì tôi đang sử dụng bây giờ:

import socket
if socket.gethostname().find('.')>=0:
    name=socket.gethostname()
else:
    name=socket.gethostbyaddr(socket.gethostname())[0]

Đầu tiên, nó gọi gethostname để xem liệu nó có trả lại thứ gì đó trông giống như tên máy chủ hay không, nếu không nó sử dụng giải pháp ban đầu của tôi.

Đã ổn định

2.9232 huy hiệu vàng29 Huy hiệu bạc40 Huy hiệu đồng2 gold badges29 silver badges40 bronze badges

Đã trả lời ngày 8 tháng 5 năm 2012 lúc 15:23May 8, 2012 at 15:23

Tom Ekbergtom EkbergTom Ekberg

2.0491 Huy hiệu vàng13 Huy hiệu bạc8 Huy hiệu đồng1 gold badge13 silver badges8 bronze badges

2

Từ ít nhất là Python> = 3.3:

Bạn có thể sử dụng trường

import socket
hostname = socket.gethostname()
print(hostname)
6 và tránh sử dụng lập chỉ mục mảng:

os.uname().nodename

Mặc dù, ngay cả tài liệu của OS.Uname cũng đề xuất sử dụng

import socket
hostname = socket.gethostname()
print(hostname)
4

Đã trả lời ngày 2 tháng 4 năm 2018 lúc 12:01Apr 2, 2018 at 12:01

2

Nếu tôi đúng, bạn đang tìm kiếm chức năng ổ cắm.gethostname:

import os.path

homedir = os.path.expanduser("~")
print(homedir)
0

Đã trả lời ngày 24 tháng 11 năm 2010 lúc 21:37Nov 24, 2010 at 21:37

Terminusterminusterminus

13.2k8 Huy hiệu vàng34 Huy hiệu bạc37 Huy hiệu đồng8 gold badges34 silver badges37 bronze badges

import socket
hostname = socket.gethostname()
print(hostname)
4 có thể làm

Đã trả lời ngày 24 tháng 11 năm 2010 lúc 21:38Nov 24, 2010 at 21:38

vpit3833vpit3833vpit3833

7.7412 Huy hiệu vàng24 Huy hiệu bạc25 Huy hiệu Đồng2 gold badges24 silver badges25 bronze badges

Bạn phải thực thi dòng mã này

import os.path

homedir = os.path.expanduser("~")
print(homedir)
1

Và sau đó bạn có thể sử dụng tên để tìm addr:

import os.path

homedir = os.path.expanduser("~")
print(homedir)
2

Đã trả lời ngày 10 tháng 3 năm 2019 lúc 12:30Mar 10, 2019 at 12:30

Hướng dẫn python get hostname and username - python lấy tên máy chủ và tên người dùng

Trên một số hệ thống, tên máy chủ được đặt trong môi trường. Nếu đó là trường hợp của bạn, mô -đun HĐH có thể rút nó ra khỏi môi trường thông qua OS.GetEnv. Ví dụ: nếu tên máy chủ là biến môi trường chứa những gì bạn muốn, thì đó sẽ nhận được nó:

import os.path

homedir = os.path.expanduser("~")
print(homedir)
3

Cập nhật: Như đã lưu ý trong các bình luận, điều này không phải lúc nào cũng hoạt động, vì không phải môi trường của mọi người được thiết lập theo cách này. Tôi tin rằng vào thời điểm đó, ban đầu tôi đã trả lời điều này, tôi đã sử dụng giải pháp này vì đó là điều đầu tiên tôi tìm thấy trong một tìm kiếm trên web và nó đã hoạt động với tôi vào thời điểm đó. Do thiếu tính di động, có lẽ tôi sẽ không sử dụng điều này bây giờ. Tuy nhiên, tôi đang để lại câu trả lời này cho mục đích tham khảo. FWIW, nó loại bỏ sự cần thiết của các nhập khẩu khác nếu môi trường của bạn có tên hệ thống và bạn đã nhập mô -đun HĐH. Kiểm tra nó - nếu nó không hoạt động trong tất cả các môi trường mà bạn mong đợi chương trình của bạn sẽ hoạt động, hãy sử dụng một trong các giải pháp khác được cung cấp.

Đã trả lời ngày 24 tháng 11 năm 2010 lúc 21:43Nov 24, 2010 at 21:43

GreenmattgreenmattGreenMatt

17,9K7 Huy hiệu vàng51 Huy hiệu bạc76 Huy hiệu đồng7 gold badges51 silver badges76 bronze badges

6

Để nhận tên máy chủ đủ điều kiện, hãy sử dụng socket.getfqdn ()

import os.path

homedir = os.path.expanduser("~")
print(homedir)
4

Đã trả lời ngày 11 tháng 11 năm 2020 lúc 2:57Nov 11, 2020 at 2:57

Rishi Bansalrishi BansalRishi Bansal

3,4872 Huy hiệu vàng24 Huy hiệu bạc44 Huy hiệu đồng2 gold badges24 silver badges44 bronze badges

Tôi cần tên của PC để sử dụng trong tệp Pylog Conf của mình và thư viện ổ cắm không khả dụng, nhưng thư viện hệ điều hành là.

Đối với Windows tôi đã sử dụng:Windows I used:

import os.path

homedir = os.path.expanduser("~")
print(homedir)
5

Trong đó defaultValue là một chuỗi để ngăn không cho không được trả lại

Hướng dẫn python get hostname and username - python lấy tên máy chủ và tên người dùng

James

Huy hiệu vàng 13K557 Huy hiệu bạc81 Huy hiệu đồng5 gold badges57 silver badges81 bronze badges

Đã trả lời ngày 9 tháng 6 năm 2015 lúc 9:50Jun 9, 2015 at 9:50

Bill Kiddbill KiddBill Kidd

1.03211 Huy hiệu bạc13 Huy hiệu đồng11 silver badges13 bronze badges

5

Làm thế nào để tôi có được tên máy chủ trong Python?

Để có được tên máy chủ của máy tính, bạn có thể sử dụng ổ cắm và chức năng gethostName () của nó. GethostName () trả về một chuỗi chứa tên máy chủ của máy nơi trình thông dịch Python hiện đang thực thi.use socket and its gethostname() functionality. The gethostname() return a string containing the hostname of the machine where the Python interpreter is currently executing.

Lệnh nào sẽ được sử dụng để có được tên máy chủ trong Python?

Python cung cấp gethostname (), gethostbyname () hai hàm. gethostname () lấy lại tên máy chủ tiêu chuẩn cho máy cục bộ. GethostByName () Lấy lại thông tin máy chủ tương ứng với tên máy chủ từ cơ sở dữ liệu máy chủ.gethostname(),gethostbyname() two function. gethostname() retrives the standard host name for the local machine. gethostbyname() retrives host information corresponding to a host name from a host database.

Làm cách nào để tìm FQDN trong Python?

Example:..
Nhập ổ cắm ..
# Nhận tên miền đủ điều kiện ..
fqdn = socket.getfqdn ().
In ("Tên miền đủ điều kiện của máy tính này là:") ;.
print(fqdn);.
# Nhận FQN chẳng hạn.net ..
hostName = "www.example.net" ;.
fqdn = socket.getfqdn (tên máy chủ) ;.

Làm cách nào để tìm địa chỉ máy chủ của tôi trong Python?

Algorithm..
Nhập mô -đun ổ cắm ..
Nhận tên máy chủ bằng cách sử dụng ổ cắm.phương thức gethostname () và lưu trữ nó trong một biến ..
Tìm địa chỉ IP bằng cách chuyển tên máy chủ dưới dạng đối số cho ổ cắm.phương thức gethostbyname () và lưu trữ nó trong một biến ..