Вы используете np.size()
неправильно, он не сообщает вам, сколько строк или столбцов в вашем списке, но количество элементов в массиве, в вашем случае - 9
. Вы можете использовать форму вашего списка следующим образом:
def symmetrize(x):
## The symmetrized matrix that is returned
y = np.zeros(np.shape(x))
## For loop for each element (i,j) in the matrix
for i in range(x.shape[0]):
for j in range(x.shape[1]):
if i == j:
y[i,j] = x[i,j]
else:
y[i,j] = x[i,j] + x[j,i]
return y
MSDN Говорит :
Вызов SetEnvironmentVariable не имеет никакого эффекта на системные переменные. , Чтобы программно добавить или изменить системные переменные, добавьте их к ключу реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment, затем широковещательно передайте сообщение WM_SETTINGCHANGE с набором lParam к строке "Среда". Это позволяет приложения, такие как оболочка, для взятия обновлений. Обратите внимание, что значения переменных среды, перечисленных в этом ключе, ограничены 1 024 символами.
Как был указан ранее, для изменения ПУТИ в , уровень машины просто изменяет этот ключ реестра:
HLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
, Но можно также установить ПУТЬ в уровень пользователя путем изменения этого ключа реестра:
HKEY_CURRENT_USER\Environment\Path
И можно также установить ПУТЬ в прикладной уровень путем добавления, что application\Path назначает в этот ключ реестра:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\
Нет никакого API - изменение реестра является способом сделать это. Измененное значение будет использоваться для процессов, запускающихся после того, как изменение было внесено.
Также: Заметьте, что запущенные приложения должны активно обработать измененное сообщение настроек и многих (большинство?) не делают так.
Если Вы хотите сделать это через реестр, Вы могли бы хотеть посмотреть на исходный код этот программа.
Microsoft также обеспечивает маленькую утилиту командной строки, названную setx с инструментарии ресурса , который позволит Вам сделать это. Между прочим, регулярная команда набора просто позволяет Вам определить переменные окружения, я думаю.
Да Вы корректны. Также необходимо произвести эти настройки, не выходя из системы
, Отправляют сообщение широкого кастинга ко всем окнам SETTINGCHANGE для параметра (LPARAM) "Среда" с SMTO_ABORTIFHUNG для некоторых миллисекунд (5000) SendMessageTimeout API использования.
Это - то, что setX.exe, которому предоставляют ресурс делает Kit.