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

Как узнать имя пользователя python

  • автор:

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

На работе у каждого своя учетная (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', 'Не найдено имя пользователя.')

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

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

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

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

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

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

7 фев 2023 в 16:01

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

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

1 ответ 1

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

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

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

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

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

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

8 фев 2023 в 14:52

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

8 фев 2023 в 15:25

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

Как вывести имя пользователя и бота в Python?

Здравствуйте, не подскажете как вывести в сообщении имя юзера (first.name) и имя бота? Использую библиотеку aiogram.
Раньше использовал teleBot так вот там примерно так будет:

bot.send_message(message.chat.id, "Привет, ! \n Я - , parse_mode='html', reply_markup=markup)

Заранее спасибо.

  • Вопрос задан более двух лет назад
  • 2952 просмотра

Комментировать
Решения вопроса 0
Ответы на вопрос 3

SoreMix

soremix @SoreMix Куратор тега Python

message.from_user.last_name message.from_user.first_name

Ответ написан более двух лет назад
Нравится 2 2 комментария
Max020899 @Max020899 Автор вопроса
Оно должно быть вот так?

@dp.message_handler(commands=['start', 'help']) async def send_welcome(message: types.Message): await message.from_user.first_name( "Привет, **! \n Я бот - **", reply = False, parse_mode= 'Markdown')

Просто вообще не выводит ничего.

SoreMix

soremix @SoreMix Куратор тега Python

Max020899, оно и не должно выводить.

В message.from_user.last_name лежит имя пользователя, в message.from_user.first_name — фамилия, в bot.get_me().first_name — имя бота

Модуль os

Python 3 логотип

Модуль os предоставляет множество функций для работы с операционной системой, причём их поведение, как правило, не зависит от ОС, поэтому программы остаются переносимыми. Здесь будут приведены наиболее часто используемые из них.

Будьте внимательны: некоторые функции из этого модуля поддерживаются не всеми ОС.

os.name — имя операционной системы. Доступные варианты: ‘posix’, ‘nt’, ‘mac’, ‘os2’, ‘ce’, ‘java’.

os.environ — словарь переменных окружения. Изменяемый (можно добавлять и удалять переменные окружения).

os.getlogin() — имя пользователя, вошедшего в терминал (Unix).

os.getpid() — текущий id процесса.

os.uname() — информация об ОС. возвращает объект с атрибутами: sysname — имя операционной системы, nodename — имя машины в сети (определяется реализацией), release — релиз, version — версия, machine — идентификатор машины.

os.access(path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True) — проверка доступа к объекту у текущего пользователя. Флаги: os.F_OK — объект существует, os.R_OK — доступен на чтение, os.W_OK — доступен на запись, os.X_OK — доступен на исполнение.

os.chdir(path) — смена текущей директории.

os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True) — смена прав доступа к объекту (mode — восьмеричное число).

os.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True) — меняет id владельца и группы (Unix).

os.getcwd() — текущая рабочая директория.

os.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None, follow_symlinks=True) — создаёт жёсткую ссылку.

os.listdir(path=».») — список файлов и директорий в папке.

os.mkdir(path, mode=0o777, *, dir_fd=None) — создаёт директорию. OSError, если директория существует.

os.makedirs(path, mode=0o777, exist_ok=False) — создаёт директорию, создавая при этом промежуточные директории.

os.remove(path, *, dir_fd=None) — удаляет путь к файлу.

os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None) — переименовывает файл или директорию из src в dst.

os.renames(old, new) — переименовывает old в new, создавая промежуточные директории.

os.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None) — переименовывает из src в dst с принудительной заменой.

os.rmdir(path, *, dir_fd=None) — удаляет пустую директорию.

os.removedirs(path) — удаляет директорию, затем пытается удалить родительские директории, и удаляет их рекурсивно, пока они пусты.

os.symlink(source, link_name, target_is_directory=False, *, dir_fd=None) — создаёт символическую ссылку на объект.

os.sync() — записывает все данные на диск (Unix).

os.truncate(path, length) — обрезает файл до длины length.

os.utime(path, times=None, *, ns=None, dir_fd=None, follow_symlinks=True) — модификация времени последнего доступа и изменения файла. Либо times — кортеж (время доступа в секундах, время изменения в секундах), либо ns — кортеж (время доступа в наносекундах, время изменения в наносекундах).

os.walk(top, topdown=True, onerror=None, followlinks=False) — генерация имён файлов в дереве каталогов, сверху вниз (если topdown равен True), либо снизу вверх (если False). Для каждого каталога функция walk возвращает кортеж (путь к каталогу, список каталогов, список файлов).

os.system(command) — исполняет системную команду, возвращает код её завершения (в случае успеха 0).

os.urandom(n) — n случайных байт. Возможно использование этой функции в криптографических целях.

os.path — модуль, реализующий некоторые полезные функции на работы с путями.

Для вставки кода на Python в комментарий заключайте его в теги

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

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