Как узнать имя накопителя, на котором стоит ОС
Ну хорошо, а если мне надо открыть какой-то файл из папки «Документы», при этом подставив название диска, то как реализовать это?
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?

Реализация кода совершено неправильна, код, как и сказал юзер 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)