Как узнать имя юзера python
Перейти к содержимому

Как узнать имя юзера python

  • автор:

Найти имя компьютера — Python

Существует несколько способов найти имя компьютера на Python. Модуль «socket» в Python обеспечивает доступ к интерфейсу сокетов BSD . Он доступен для всех современных Unix-систем: Windows, Mac OS X, BeOS, OS / 2 и, возможно, дополнительных платформ. Чтобы получить имя хоста компьютера, вы можете использовать функцию сокета и его функцию gethostname(). Gethostname() возвращает строку , содержащую имя хоста машины , на которой интерпретатор Python в настоящее время выполняется.

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

Как получить полное имя хоста?

Gethostname() не всегда возвращает полное доменное имя. Функция socket.getfqdn ([name]) возвращает полное доменное имя для имени. Если имя опущено или пустое, оно интерпретируется как локальный хост.

import socket print (socket.getfqdn("209.191.88.254"))
d.mx.mail.yahoo.com

Модуль платформы в Python включает инструменты для просмотра информации о версии аппаратного обеспечения, операционной системы и интерпретатора платформы, где работает программа. Функция platform.node() возвращает сетевое имя компьютера.

import platform print(platform.node())

Любые решения, использующие переменные среды HOST или HOSTNAME, не являются переносимыми. Даже если он работает в вашей системе при запуске, он может не работать при работе в специальных средах, таких как cron.

Как получить имя пользователя компьютера Python

Модуль os в Python предоставляет переносимый способ использования функциональных возможностей, зависящих от операционной системы. Команда os.uname() возвращает 5-кортеж, содержащий информацию, идентифицирующую текущую операционную систему, но она доступна только в Unix-подобных системах.

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

Как узнать полное имя владельца текущей учетной записи?

На работе у каждого своя учетная (windows) запись в домене.
Я для своей программы хочу выводить ФИО автоматически, благо каждая учетка подписана.
Но все способы которые нашел выдают только имя аккаунта, а как получить имя владельца учетки?

import win32api import win32net user_properties = win32net.NetUserGetInfo(None, win32api.GetUserName(), 20)

но он выдает ошибку:

user_properties = win32net.NetUserGetInfo(None, win32api.GetUserName(), 20) pywintypes.error: (2221, 'NetUserGetInfo', 'Не найдено имя пользователя.')

Я так понимаю, что проблема в том, что на самом ПК такого юзера нет, а берется он из домена.

  • Вопрос задан более года назад
  • 170 просмотров

1 комментарий

Простой 1 комментарий

Как получить имя учётки

Как получить имя файла?
Подскажите пожалуйста, есть ли возможности получить не весь путь к файлу, а только его имя? .

Как получить имя файла из формы
Здравствуйте! Есть форма, на основе некоторой модели в котором такое поле: file =.

Как получить имя слайдера и его значение
Здравствуйте! Подскажите пожалуйста, как получить в print() два переменных, одну с имением.

Как в билдере получить с сервера (MySQL 5.1, имя базы «skola», имя table «info») имя столбцов и имя строк
Доброва времены суток Как в билдере получить с сервера (MySQL 5.1, имя базы "skola", имя table.

Am I evil? Yes, I am!

Эксперт PythonЭксперт Java

18966 / 9661 / 2710
Регистрация: 21.10.2017
Сообщений: 21,465

os.getlogin()

101 / 84 / 25
Регистрация: 21.05.2019
Сообщений: 471
iSmokeJC, Тоже самое что и моё выдает, а мне надо получить вот это имя что выделил
Am I evil? Yes, I am!

Эксперт PythonЭксперт Java

18966 / 9661 / 2710
Регистрация: 21.10.2017
Сообщений: 21,465
RSAX, ты не знаешь, как из строки получить нужное?
101 / 84 / 25
Регистрация: 21.05.2019
Сообщений: 471
iSmokeJC, так а где строка, твой запрос выводит только мой логин(имя компа), но не имя учётки
Am I evil? Yes, I am!

Эксперт PythonЭксперт Java

18966 / 9661 / 2710
Регистрация: 21.10.2017
Сообщений: 21,465
101 / 84 / 25
Регистрация: 21.05.2019
Сообщений: 471

iSmokeJC, да я читал это, там люди не правильно используют формулировки, точнее раньше такого и не было до винды 10, они не имя пользователя выводят, а имя компа = логин учётки, а есть ещё имя учётки

1525 / 494 / 58
Регистрация: 10.04.2009
Сообщений: 8,319
ТС, скажите, решилось, как?

1 2 3
import os print(__import__("os").getenv('username')) print(os.getlogin())

у меня тоже одинаковое выдаёт

ЦитатаСообщение от iSmokeJC Посмотреть сообщение

ты не знаешь, как из строки получить нужное?
q8902
q8902
не получается))
192 / 136 / 62
Регистрация: 23.05.2013
Сообщений: 299

Лучший ответ

Сообщение было отмечено RSAX как решение

Решение

1 2 3 4 5
import win32api import win32net user_properties = win32net.NetUserGetInfo(None, win32api.GetUserName(), 20) print(user_properties.get("full_name"))

1525 / 494 / 58
Регистрация: 10.04.2009
Сообщений: 8,319

ЦитатаСообщение от menreiven Посмотреть сообщение

import win32api
import win32net

хороши звери-даже без пипа импортнулись)) спс
я так понимаю, что кроме «full_name» ещё можно что-то заполучить-где глянуть? спс

192 / 136 / 62
Регистрация: 23.05.2013
Сообщений: 299

Эксперт Python

5415 / 3839 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1

ЦитатаСообщение от RSAX Посмотреть сообщение

точнее раньше такого и не было до винды 10

Полное имя учетной записи было всегда.
Первые два способа выдают стандартный username залогинившегося пользователя.

1 2 3 4 5
>>> print(__import__("os").getenv('username')) Garry >>> import os >>> os.getlogin() 'Garry'

Последний — через winapi — полное имя (по сути никому не нужное). Я, например, это поле никогда не заполнял и оно у меня пустое.

1 2 3
>>> user_properties {'name': 'Garry', 'full_name': '', 'comment': '', 'flags': 66081, 'user_id': 1000} >>>

Добавлено через 2 минуты

ЦитатаСообщение от RSAX Посмотреть сообщение

мой логин(имя компа)

Логин и имя компа это разные вещи. Если у тебя они одинаковые, то это твои проблемы. Нужно было после магазина поменять.

Меню пользователя @ Fudthhh
Читать блог

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604

Получить имя процесса (такое же как имя задачи в «Диспетчере задач»)
Здравствуйте! Пишу программу, которая будет отслеживать мои действия и собирать статистику по.

Получить имя моего процесса (получить имя меня)
Работает мой код. Мне нужно получить имя моего процесса — ***.exe

Как получить имя проекта
Добрый день, я пишу игровой движок, и щас пишу шаблон для VS. Еасть конфиг файл, в котором есть.

Как получить имя переменной?
Для отладки кода появилась необходимость получать имена переменных. Это я могу сделать но только.

Как получить имя столбца
Подскажите пожалуйста как получить имя столбца таблицы, запроса и вывести его в Debug.Print

Как узнать имя накопителя, на котором стоит ОС

Ну хорошо, а если мне надо открыть какой-то файл из папки «Документы», при этом подставив название диска, то как реализовать это?

7 фев в 16:01

А «Документы» вообще не в appdata. Про выяснение расположения пользовательских папок я писал здесь: Как получить пути к стандартным папкам пользователя (Рабочий стол, Загрузки и т.п.)?

7 фев в 16:21
В пути вижу упоминание временного каталога. Он хранится в переменной %TMP% , если что.
8 фев в 0:04

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

В моем случае помогло os.path.expanduser(‘~’) . Пример использования:

x = os.path.expanduser('~') print(x) 
C:\Users\KakaBik 

Насколько я понял, работает это одинаково и на Linux, и на MacOS. Только пути будут разные

Отслеживать
ответ дан 8 фев в 14:49
45 5 5 бронзовых знаков

В вопросе одно, в комментариях другое, в ответе третье. Бардак какой-то. Ну и каталог пользователя может находиться не на системном диске

8 фев в 14:52

Нет, каталог пользователя не может быть перемещён. Он всегда будет только на том диске, где система. Могут быть перемещены только папки в каталоге например: «Рабочий стол», «Загрузки» и другие. Спасибо за ссылку на ваш ответ, очень информативно

8 фев в 15:25

Может-может, хотя делать это и не рекомендуется. Вот упоминание такого перемещения на сайте Microsoft есть, например learn.microsoft.com/en-US/troubleshoot/windows-server/…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *