Volevo solo mettere in evidenza ciò che @metatoaster detto nel commento di cui sopra, in quanto ho perso All'inizio.
L'uso di repr (stringa) aggiungerà virgolette singole, quindi virgolette doppie al di fuori di esse, quindi virgolette singole al di fuori di esse con virgolette singole interne sfuggite, quindi su altre escaping.
Utilizzando repr(), come un built-in, è più diretto, a meno che non ci sono altri conflitti ..
s = 'strOrVar'
print s, repr(s), repr(repr(s)), ' ', repr(repr(repr(s))), repr(repr(repr(repr(s))))
# prints: strOrVar 'strOrVar' "'strOrVar'" '"\'strOrVar\'"' '\'"\\\'strOrVar\\\'"\''
Lo stato docs suo fondamentalmente repr stato(), vale a dire la rappresentazione, è il contrario di eval():
"per molti tipi, questa funzione fa un tentativo di restituire una stringa che produrrebbe un oggetto con lo stesso valore quando viene passato ad eval(), .."
I backquote sarebbero più brevi, ma sono removed in Python 3+. È interessante notare che StackOverflow utilizza le backquote per specificare gli intervalli di codice, invece di evidenziare un blocco di codice e fare clic sul pulsante del codice, tuttavia presenta alcuni comportamenti interessanti.
Qual è il contesto (ragioni/perché) per farlo? Cosa succede se la stringa contiene citazioni? Comunque provate 's1 .__ repr __()' con varie stringhe e vediamo se questo comportamento si adatta al vostro uso richiesto. – metatoaster
@metatoaster Fondamentalmente ho bisogno di concatenare molte stringhe '+', alcune che richiedono le virgolette singole e altre che non lo fanno, nel tentativo di conservare lo spazio linea ho trovato la soluzione di cui sopra – pyCthon
Cosa succede se hai una stringa che corrisponde i vostri criteri di virgolette singole ma hanno anche una virgoletta singola (come 'that's'), usando il vostro metodo risulterebbe in' 'that's''. Questo è inteso/permesso per il tuo sistema? Inoltre, si raccomanda di usare 'str.join' su un elenco di stringhe piuttosto che usare' + 'per aggiungere singoli frammenti di stringhe, per motivi di prestazioni. – metatoaster