Перейти к содержимому

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

  • автор:

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

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

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/…

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

Подскажите как можно узнать имя пользователя по которым запущен процесс. Handle известен процесса.

rpy3uH:

если текущего процесса, то есть функция GetUserName. там всё элементарно
если любого, то так

function GetNamebySID(destSystem: PChar; sid: PSID):PChar; 
var
_userName : PChar;
_Domain: PChar;
_Needed : DWORD;
_DomLen : DWORD;
_use : SID_NAME_USE;
begin
Result := 0;
_Needed := 0;
_DomLen := 0;
LookupAccountSid(destSystem, sid, 0, _Needed, 0, _DomLen, _use);

if GetLastError() = ERROR_INSUFFICIENT_BUFFER then
begin
Result := HeapAlloc(GetProcessHeap(), 0, _Needed);
_Domain:= GetMemory(_DomLen);
LookupAccountSid(destSystem, sid, Result, _Needed, _Domain, _DomLen, _use);
FreeMemory(_Domain);
end;
end;

function GetProcessUserName(Process:THandle):PChar;
var
_Token:THandle;
_Info:PTOKEN_USER;
_Needed:DWORD;
begin
Result:=0;
if not OpenProcessToken(Process, TOKEN_QUERY, _Token) then exit;
_Needed:=0;
GetTokenInformation(_Token, TokenUser, 0, 0, _Needed);
if GetLastError() = ERROR_INSUFFICIENT_BUFFER then
begin
_Info := HeapAlloc(GetProcessHeap(), 0, _Needed);
if GetTokenInformation(_Token, TokenUser, _Info, _Needed, _Needed) then
Result:=GetNamebySID(0, _Info^.User.Sid);
HeapFree(GetProcessHeap(),0, _Info);
end;
end;

сначала получаем SID пользовтеля по хендлу процесса. потом имя пользователя по SID.

Похожие статьи

  • Управление отображением рабочего стола Windows на нескольких экранах
  • Проверить запущен процесс или нет?
  • Проверить запущен ли процесс
  • Как можно получить имя родительского процесса чужой программы?
  • Как нарисовать что-то на рабочем столе?
  • Как запустить bat файл из своей программы?
  • Как отображать размер файла в зависимости от размера в кб,мб,гб?
  • Как узнать букву жесткого диска и информацию о нём?
  • Как в Delphi узнать на каком из дисков стоит ОС?
  • Как получить список открытых окон?

Как достать имя и фамилию по id вк пользователя Python?

total4c

Реализация кода совершено неправильна, код, как и сказал юзер o5a относится к библиотеке vk.

import vk_api vk = vk_api.VkApi(token="") # авторизация через токен (желательно) vk = vk_api.VkApi(login="", password="") # авторизация через логин и пароль vk._auth() # Если авторизируетесь через лог и пароль # получение имени и фамилии user = vk.method("users.get", ) # вместо 1 подставляете айди нужного юзера fullname = user[0]['first_name'] + ' ' + user[0]['last_name']

Ответ написан более трёх лет назад

Комментировать

Нравится 3 Комментировать

Найти имя компьютера — 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)

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

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