Created
March 23, 2015 17:13
-
-
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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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