2
I’ve been searching how to save user changes (with raw_input
) in Python and I did not find something that clarified me.
What is the best way to do it (even after closing the program)?
Example:
def arranque():
machine = raw_input("Bem vindo à màquina virtual(VM). Prima ENTER para iniciar o SO ou prima B para entrar no menu da BIOS.")
if machine == "B".upper():
print "A iniciar a BIOS..."
for i in range(1000):
print "..."
arranque()
# else:
#storm()
#funções auxiliares--> bios:
def editor():
global texto
texto = raw_input("digite o texto que quer que o menu principal imprima:")
def password():
#função principal(1ª)--> bios:
def bios():
print "------------------ \n"
print "BIOS setup utility \n"
print "------------------"
opcao =raw_input("Está no menu da BIOS. Escolha o que pretende aceder: Informações do sistema, Data, Avançadas(secção ainda a concluir), Configurações do SO (escreva quit para voltar ao menu e back se quiser voltar ao menu principal da BIOS) \n")
if opcao == "Informações do sistema":
print "--------------"
print "Maquina virtual"
print "--------------"
print "Versão: 1.0v 32bit \n Data da criação: 07/06/14 \n Compatível com Windows XP, Windows Vista, Windows 7, Windows 8, Unix, Linux, Ubuntu e Mac OS"
print "Todos os direitos reservados © 2014"
rebobinar = raw_input("")
if rebobinar == "back":
bios()
elif opcao == "Data":
print "--------------"
print "Data"
print "--------------"
print "Sistema Operativo(simulado): BITsky one® \nInterface: Literal (e GUI nas próximas atualizações) \nLinguagem de programação predefinida: Python"
import win32api
path = "C:/"
info = win32api.GetVolumeInformation(path)
print( "Número da série do disco rígido: = %d" % info[1] )
rebobinar = raw_input("")
if rebobinar == "back":
bios()
elif opcao == "Avançadas":
print "--------------"
print "Avançadas"
print "--------------"
configurar = raw_input("Para configurar as defenições da máquina virtual, escreva a password bitwise para aceder: \n")
if configurar == "0b10b100b110b100":
print "As opções disponíveis são: \nAlterar a forma de inicialização, \nDesinstalar SO, \nCriar permissões especiais para a VM, \nVer código fonte da VM"
avanced = raw_input("")
if avanced == "Alterar a forma de inicialização":
alterar = raw_input("O que deseja alterar: \nApresentação inicial da VM, \nApresentar código de arranque, \nEditar código(aviso: qualquer alteração incorreta destes pode instabilizar a VM)?")
if alterar == "Apresentação inicial da VM":
editor()
save = raw_input("Guardar alterações?")
if save == "sim" or save == "si" or save == "s".lower():
#como guardar?
rebobinar = raw_input("")
if rebobinar == "back":
bios()
elif alterar == "Apresentar código de arranque":
#código ainda não concluído
if rebobinar == "back":
bios()
elif alterar == "Editar código":
#código ainda não concluído
elif avanced == "Desinstalar SO":
deletar_so = raw_input("Tem mesmo a certeza (atenção: depois não pode restaurar e pode perder dados)?)")
if deletar_so = "sim" or deletar_so == "yes":
for i in range(1234):
print "A desinstalar o SO..."
#função bitsky_one--> deletar
print "SO desinstalado."
elif avanced == "Criar permissões especiais para a VM":
password()
bios()
After the user edits the text, the program is supposed to save the same text.
(The def password()
is not completed )
How do you feel about keeping it? Like in a file?
– Felipe Avelar
Yes, so that when you open the program again print the same value.
– Henrique