Skip to content

Instantly share code, notes, and snippets.

@Fawkes00777
Created March 23, 2015 17:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Fawkes00777/3b8d15c809ae108a1b5b to your computer and use it in GitHub Desktop.
Save Fawkes00777/3b8d15c809ae108a1b5b to your computer and use it in GitHub Desktop.
A program for encode o decode text in a file.txt in/at base64
import base64, time
print("Creato da Andrea Dipace per codificare/decodificare file.txt in base64\nRilasciato sotto licenza GNU GPL\nQuesto programma puo' codificare e decodificare file solo con estensione .txt\n\nDevi:\ne - codificare un file\nd - decodificare un file\n")
def Modalita():
global modalita
modalita = raw_input("command: ")
modalita.strip()
if modalita not in ('e', 'd'):
print("\nInserisci 'e' per codificare un file, 'd' per decodificare. Riprova.\n")
Modalita()
else:
Nome_File_Da_Aprire()
def Nome_File_Da_Aprire():
global testo, nome_file
nome_file = raw_input("Nome file da aprire (senza estensione): ")
nome_file = nome_file.strip() + '.txt'
try:
testo = open(nome_file, 'r')
except IOError:
if modalita == 'e':
Crea_File()
elif modalita == 'd':
print("\nIl nome del file inserito e' incorretto o inesistente.\nLa preghiamo di controllare il nome e di riprovare.\n")
Nome_File_Da_Aprire()
else:
if modalita == 'e':
Codifica_Testo_File()
elif modalita == 'd':
Decodifica_Testo_File()
def Crea_File():
global testo
crea_file = raw_input("\nIl nome del file inserito e' incorretto o inesistente.\nVuole creare il file {0}? s/n ".format(nome_file))
if crea_file == 's':
testo_file = open(nome_file, 'w')
testo_da_scrivere = raw_input("Inserisci il testo da inserire nel programma.\n")
testo_file.write(testo_da_scrivere)
testo_file.close()
testo = open(nome_file, 'r')
Codifica_Testo_File()
elif crea_file == 'n':
riprovare = raw_input("Vuoi riprovare con un altro file? s/n ")
if riprovare == 's':
Nome_File_Da_Aprire()
elif riprovare == 'n':
print("\nGrazie per aver utilizzato questo programma. Spero di esservi stato utile.\n")
while True:
time.sleep(1)
else:
print("Inserisci 's' per riprovare con un altro file, 'n' per non riprovare. Riprova.\n")
else:
print("\nInserisci 's' per creare un file.txt con il nome dato in precedenza, 'n' per non crearlo. Riprova.\n")
Crea_File()
def Codifica_Testo_File():
testo_da_codificare = testo.read()
testo.close()
testo_codificato = base64.b64encode(testo_da_codificare)
file_da_modificare = open(nome_file, 'w')
file_da_modificare.write(testo_codificato)
file_da_modificare.close()
print("File codificato.")
Continuo()
def Decodifica_Testo_File():
testo_da_decodificare = testo.read()
testo.close()
testo_decodificato = base64.b64decode(testo_da_decodificare)
file_da_modificare = open(nome_file, 'w')
file_da_modificare.write(testo_decodificato)
file_da_modificare.close()
print("File decodificato.")
Continuo()
def Continuo():
continuare = raw_input("\nTi serve codificare/decodificare un altro file? s/n ")
if continuare == 's':
print("\n")
Modalita()
elif continuare == 'n':
print("\nGrazie per aver utilizzato questo programma. Spero di esservi stato utile.\n")
while True:
time.sleep(1)
else:
print("\nInserisci 's' per codificare/decodificare un altro file, 'n' per non farlo. Riprova.\n")
Modalita()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment