서브 프로세스를 사용하여 암호를 보내고 막 다른 길에 머물러 있는데, 무엇이 잘못 됐는지 알지 못합니다. 나는 어떤 조언도 감사 할 것이다.파이썬 : 서브 프로세스를 사용하여 포스트그레스 비밀번호를 보내십시오.
내 코드 :
os.system("sudo -u postgres -h " + db_host + " psql postgres -c \"\password\" ")
os.system("sudo -u postgres -h " + db_host + " createuser " + db_user);
print bcolors.WARNING, "Please enter your password for : " + db_user, bcolors.ENDC
str = "sudo -u postgres -h " + db_host + " psql postgres -c \"\password " + db_user + "\""
# os.system(str)
p = subprocess.Popen(['sudo','-u', 'postgres', '-h', db_host, 'psql', 'postgres', "-c", "\password", db_user],stdin=subprocess.PIPE, shell=False)
p.communicate(raw_input("Please give me a password!")
os.system(str)
모든 것이 괜찮 사용하지만 사용자로부터 입력 한 비밀번호를 잡으려면 미래에 내가 구성 파일에 암호를 저장합니다. 그게 가능하니?