How do you quote within a quote in python?

When I want to do a print command in Python and I need to use quotation marks, I don't know how to do it without closing the string.

For instance:

print " "a word that needs quotation marks" "

But when I try to do what I did above, I end up closing the string and I can't put the word I need between quotation marks.

How can I do that?

o__o

2,6971 gold badge12 silver badges32 bronze badges

asked Jan 29, 2012 at 2:14

How do you quote within a quote in python?

You could do this in one of three ways:

  1. Use single and double quotes together:

    print('"A word that needs quotation marks"')
    "A word that needs quotation marks"
    
  2. Escape the double quotes within the string:

    print("\"A word that needs quotation marks\"")
    "A word that needs quotation marks" 
    
  3. Use triple-quoted strings:

    print(""" "A word that needs quotation marks" """)
    "A word that needs quotation marks" 
    

How do you quote within a quote in python?

Neuron

4,5754 gold badges32 silver badges53 bronze badges

answered Jan 29, 2012 at 2:19

Jamie ForrestJamie Forrest

10.7k6 gold badges50 silver badges68 bronze badges

4

You need to escape it. (Using Python 3 print function):

>>> print("The boy said \"Hello!\" to the girl")
The boy said "Hello!" to the girl
>>> print('Her name\'s Jenny.')
Her name's Jenny.

See the python page for string literals.

answered Jan 29, 2012 at 2:17

How do you quote within a quote in python?

Jonathon ReinhartJonathon Reinhart

127k32 gold badges245 silver badges317 bronze badges

Python accepts both " and ' as quote marks, so you could do this as:

>>> print '"A word that needs quotation marks"'
"A word that needs quotation marks"

Alternatively, just escape the inner "s

>>> print "\"A word that needs quotation marks\""
"A word that needs quotation marks"

answered Jan 29, 2012 at 2:16

James PolleyJames Polley

7,7592 gold badges28 silver badges32 bronze badges

Use the literal escape character \

print("Here is, \"a quote\"")

The character basically means ignore the semantic context of my next charcter, and deal with it in its literal sense.

answered Jan 29, 2012 at 2:19

How do you quote within a quote in python?

yurisichyurisich

6,8435 gold badges41 silver badges62 bronze badges

When you have several words like this which you want to concatenate in a string, I recommend using format or f-strings which increase readability dramatically (in my opinion).

To give an example:

s = "a word that needs quotation marks"
s2 = "another word"

Now you can do

print('"{}" and "{}"'.format(s, s2))

which will print

"a word that needs quotation marks" and "another word"

As of Python 3.6 you can use:

print(f'"{s}" and "{s2}"')

yielding the same output.

answered Jun 25, 2018 at 10:01

ClebCleb

23.4k18 gold badges105 silver badges143 bronze badges

0

One case which is prevalent in duplicates is the requirement to use quotes for external processes. A workaround for that is to not use a shell, which removes the requirement for one level of quoting.

os.system("""awk '/foo/ { print "bar" }' %""" % filename)

can usefully be replaced with

subprocess.call(['awk', '/foo/ { print "bar" }', filename])

(which also fixes the bug that shell metacharacters in filename would need to be escaped from the shell, which the original code failed to do; but without a shell, no need for that).

Of course, in the vast majority of cases, you don't want or need an external process at all.

with open(filename) as fh:
    for line in fh:
        if 'foo' in line:
            print("bar")

answered Nov 24, 2017 at 8:46

How do you quote within a quote in python?

tripleeetripleee

164k27 gold badges244 silver badges296 bronze badges

in Python 3.2.2 on Windows,

print(""""A word that needs quotation marks" """) 

is ok. I think it is the enhancement of Python interpretor.

answered Apr 11, 2012 at 8:04

You could also try string addition: print " "+'"'+'a word that needs quotation marks'+'"'

answered Aug 30, 2017 at 0:58

How do you quote within a quote in python?

I'm surprised nobody has mentioned explicit conversion flag yet

>>> print('{!r}'.format('a word that needs quotation marks'))
'a word that needs quotation marks'

The flag !r is a shorthand of the repr() built-in function1. It is used to print the object representation object.__repr__() instead of object.__str__().

There is an interesting side-effect though:

>>> print("{!r} \t {!r} \t {!r} \t {!r}".format("Buzz'", 'Buzz"', "Buzz", 'Buzz'))
"Buzz'"      'Buzz"'     'Buzz'      'Buzz'

Notice how different composition of quotation marks are handled differenty so that it fits a valid string representation of a Python object 2.


1 Correct me if anybody knows otherwise.

2 The question's original example " "word" " is not a valid representation in Python

answered Dec 7, 2020 at 9:24

This worked for me in IDLE Python 3.8.2

print('''"A word with quotation marks"''')

Triple single quotes seem to allow you to include your double quotes as part of the string.

answered Dec 16, 2020 at 17:42

How do you quote within a quote in python?

Enclose in single quotes like

print '"a word that needs quotation marks"'

Or Enclose in Double quotes

print "'a word that needs quotation marks'"

Or Use backslash \ to Escape

print " \"a word that needs quotation marks\" "

answered Nov 25, 2021 at 7:35

In case you don't want to use escape characters and actually want to print quote without saying " or \" and so on, you can tell python to print the ASCII value of the " character. The quote character in ASCII is 34, (single quote is 39)

In python 3

print(f'{chr(34)}')

Output: "

answered Mar 29 at 12:45

How do you quote within a quote in python?

1

How do you integrate a quote within a quote?

Rule: Use single quotation marks inside double quotation marks when you have a quotation within a quotation. Example: Bobbi told me, “Delia said, 'This will never work. ' ”

How do you get a string between quotes in Python?

findall() method to extract strings between quotes, e.g. my_list = re. findall(r'"([^"]*)"', my_str) . The re. findall method will match the provided pattern in the string and will return a list containing the strings between the quotes.

How do you print double quotes in Python?

Use the escape character to print single and double quotes Use the escape character \ before double or single quotes to include them in the string.

How do you insert a double quote into a quoted string?

If you need to use the double quote inside the string, you can use the backslash character. Notice how the backslash in the second line is used to escape the double quote characters. And the single quote can be used without a backslash.