Hi people, i am in trouble with python quotes, see this:

string = "qwerty"

when i do a print string it returns:


how do i replace this singles quotes to double quotes when the value of the variable is returned? there is a way?

thanks in advance! ;)

7 Years
Discussion Span
Last Post by Schol-R-LEA




You should post more data of what you want to accomplish if these do not produce what you want.

Edited by pyTony: n/a


Why do you need this?
Singel and dobbels quotes dos the same in python.

>>> s = "qwerty"
>>> s
>>> print s
>>> repr(s)

>>> s = 'qwertys'
>>> s
>>> repr(s)
>>> print s

Confused why you need this. If you need to print with double quotes, do it like this print('"%s"'%"qwerty")

P.S. Bad idea to name your variable "string" as it conflicts with the string module (chant help("string") from the Python prompt)

Edited by Dani: Formatting fixed


Thanks, i figured out a way to acomplish what i was trying to do.

It was simple, i was trying to write a python list on a text field with sqlite3:

INSERT INTO table values ('qwerty', 'uiop', '[u'ás', u'és']', 'a');

It was not working, the SQL was getting confused about the single quotes in the python lists. Hopefully, i figured that the SQL language, supports double quotes to add a text on a field of the table:

INSERT INTO table values ('qwerty', 'uiop', "[u'ás', u'és']", 'a');

This worked. =)

thanks for all your help


Hold on for a moment, though; just how are you adding the list to the SQL statement, and how are you vetting the data, if at all? Generally speaking, any data added to a SQL query programatically should be done using a parameterized query:

cursor.executemany("INSERT INTO table values ('?', '?', \"?\", '?');", 'querty', 'uiop', "[u'ás', u'és']", 'a')

The way you describe it, it sounds like you were concatenating the strings together directly, which (unless the data is checked out ahead of time) could leave you open to a SQL injection attack.

Edited by Schol-R-LEA: n/a

Votes + Comments
Very good point
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.