Domanda Simbolo "\" in Python

Stato
Discussione chiusa ad ulteriori risposte.

SenzaCappello

Utente Bronze
2 Maggio 2015
33
7
12
46
Salve a tutti,
Tempo a dietro cercavo di creare con python un programma per creare una wordlist stile brute forcing.
Era più che altro un obbiettivo didattico, non avevo uno scopo preciso, ma mi son trovato a combattere con questo simbolo \ .
Mi spiego meglio. Volevo creare una lista tipo questa ["a","A","b","B",ecc ecc ecc] immettendo tutti i possibili pulsanti che un utente è in grado di immettere dalla propria tastiera.
Dopo mi sarei cimentato nella scrittura di un codice che prendesse in esamine le singole stringhe della lista , e le elaborasse come da codice.

Ma arrivato a \ ho notato che qualcosa non andava, quando scrivo ,"\", (per creare una stringa composta dal simbolo \ ) python crede che io gli abbia dato il comando \ e non mi fa chiudere la stringa..( non sono riuscito a capire che cosa sia per lui \ , e come lo interpreta.. quidi chiedo a chi ne sa più di me)
Per fare un esempio è come se provassi a chiamare una variabile PRINT .... python non te lo permette perchè per lui PRINT è un comando, quindi non ti fa dare il nome PRINT a una variabile(rimarrebbe arancione)

Spero di essermi spiegato bene ... uso il 3.4
Provate anche voi ..... scrivete A=["1","2","\","3", notereche che la virgola dopo \ (e tutto quello che segue)rimane di colore verde.

Ringrazio anticipatamente chi si degna anche solo di leggere il messaggio.
 
Alcuni caratteri hanno un significato particolare all'interno di una stringa, ad esempio "\".

Per utilizzare questi caratteri senza che vengano interpretati diversamente devi precederli col carattere di escape, che per coincidenza è proprio "\".

In sostanza devi scrivere "\\" invece di "\".
 
Provalo a fare all'interno di una lista

Esempio

a=["\\","c"]
print (a)

RISULTATO = ['\\','c']
Me ne segna due \\..... ci avevo già provato

Mentre se faccio
a="\\"
print (a)

RISULTATO= '\' ..(che è giusto)
Non capisco, ho provato con tuple , tuple dentro liste, liste dentro liste... ma niente.
 
Mentre scrivevo questo post ho risolto il problema..... non so come però
stavo scrivendo questo piccolo esempio quando aggiungendo "\\" alla fine il risultato era giusto

a=[3,"w",2,3,4,5,6,7,"!","\\"]......# 1 Questa è la lista di simboli numeri e lettere che serve per creare la wordlist
b=len (a).................................# 2 variabile che prende in esamine la lunghezza della lista
for x in range (b):.....................# 3 genero un ciclo for in (x) tante volte quanto è lunga la lista
print (a[0+x]).......................# 4 printo il valore 0 della lista (a) + il valore di (x)

3
w
2
3
4
5
6
7
!

\....................#giusto


Ma se faccio

a=[1,3,"\\"]
print(a)

[1, 3, '\\'] # e come vedete me li mette doppi.......\\.......

Non capisco .... bhoooooo
Vabbhè... meglio così
Grazie --
 
Domandina .....quanti caratteri si possono generare (combinando i tasti) con una tastiera????
io ne conto 160.... PYTHON ne conta

allego la lista
["1","2","3","4","5","6","7","8","9","0","\\","|","!","\"","£","$","%","&","/","(",")","=",
"\'","?","ì","^","]","*","+","}","è","é","[","{","à","°","#","ò","ç","@","-","_",".",":",
",",";",">","<","z","x","c","v","b","n","m","a","s","d","f","g","h","j","k","l","q","w",
"e","r","t","y","u","i","o","p","Z","X","C","V","B","N","M","A","S","D","F","G","H","J",
"K","L","Q","W","E","R","T","Y","U","I","O","P","ù","§","ł","€","¶","ŧ","←","→","ø","þ"
"æ","ß","ð","đ","ŋ","ħ","ĸ","ł","«","»","¢","“","”","ñ","µ","¹","²","³","¼","½","¬","`",
"~","Ω","Ł","¢","®","Ŧ","¥","↑","ı","Ø","Þ","Æ","§","Ð","ª","Ŋ","Ħ","&","Ł","<",">",
"©","‘","’","Ñ","º","·","×","÷"]


Ci saranno tutti?
 
A mio parere stai affrontando i duo problemi in maniera totalmente errata.

A meno che non ci sia un key list ristretta(ma anche qui ci sarebbe da discutere) è bene gestire il tutto in maniera dinamica ad esempio generando la key list tramite caratteri ascii.

Per il problema riguardante "\" la soluzione al problema (che problema non è) è semplicemente il fatto che

print(a)

è assolutamente diverso dallo scrivere

print(a[index])
 
Scusa luzzi se non ti ho risposto....Sono passato da ubuntu a kali ma mi son dimenticato di salvare tutti i piccoli programmini che stavo scrivendo....mi sono un po demoralizzato e ho accantonato per ora(mi tocca riiniziarli tutti da zero)


Ho capito ........PRINT(a[index]) ...........tutta un'altra storia.... grazie
 
  • Mi piace
Reazioni: luzzi
Stato
Discussione chiusa ad ulteriori risposte.