Мне нужно запустить следующую информацию в командной строке windows. Кто-то любезно помог мне с синтаксисом subprocess.run (). Я получаю сообщение об ошибке «[WinError 5] Доступ запрещен», что потенциально требует прав администратора. Как я могу использовать subprocess.run () в качестве администратора? [Не на корпоративном p c или чем-либо еще, у меня есть доступ к правам администратора]
subprocess.run([
r'"C:\Program Files\ANSYS Inc\ANSYS Student\v194\Framework\bin\Win64\runwb2"',
'-B',
'-F',
r'E:\MEngA\Ansys\IFD_PartA_Rev3.wbpj',
'-R',
r'E:\MEngA\Results\sn07\script_partA.wbjn',
])
Если кто-то делал это раньше и знает, что «[WinError 5] Доступ запрещен» не относится к администратору прав, я тоже хотел бы услышать об этом! Заранее спасибо.
Редактировать - я видел следующий пост ( Запуск процесса от имени администратора с subprocess.run в python), но я не нахожу его слишком полезным. Я также прочитал Python do c (https://docs.python.org/3/library/subprocess.html) и не чувствую просветления.
Редактировать - я думаю, что это ближе:
processjl = subprocess.Popen(['runas', '/noprofile', '/user:Joe', r'C:\Program Files\ANSYS Inc\ANSYS Student\v194\Framework\bin\Win64\runwb2'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
processjl.stdin.write(b'pass')
stdout, stderr = processjl.communicate()
Но взамен я получаю:
Enter the password for Joe: \x00\r\n
Есть идеи? Я инженер-механик, изучающий python для автоматизации некоторых задач анализа методом конечных элементов. Я могу работать с данными в python, но у меня возникают проблемы с пониманием этого.