Ну, я попробовал это решение, и оно работает:
from subprocess import Popen, PIPE
sudo_password = 'temppwd'
command = 'shutdown -h now'.split()
p = Popen(['sudo', '-S'] + command, stdin=PIPE, stderr=PIPE,
universal_newlines=True)
sudo_prompt = p.communicate(sudo_password + '\n')[1]