Подтвердить что ты не робот

Python - использование кавычек внутри кавычек

Ну... Когда я хочу сделать команду "print" в python, и мне нужно использовать кавычки, я не знаю, как это сделать, не закрывая предложение. Например:

напечатать "слово, которому нужны кавычки" "

Но когда я пытаюсь сделать то, что я сделал выше, я заканчиваю закрытие предложения, и я не могу поставить слово, которое мне нужно, между кавычками.

Как я могу это сделать?

4b9b3361

Ответ 1

Вы можете сделать это одним из трех способов:

1) Используйте одиночные и двойные кавычки вместе:

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

2) Побегите двойные кавычки внутри строки:

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

3) Используйте тройные кавычки:

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

Ответ 2

Вам нужно избежать этого:

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

См. страницу python для строковых литералов.

Ответ 3

Python принимает как "и" как кавычки, так что вы можете сделать это как:

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

В качестве альтернативы просто выйдите из внутреннего "s

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

Ответ 4

Используйте буквенный escape-символ \

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

Символ в основном означает игнорировать семантический контекст моего следующего символа и обрабатывать его в прямом смысле.

Ответ 5

в Python 3.2.2 на Windows,

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

в порядке. Я думаю, что это усовершенствование интерпретатора Python.

Ответ 6

Вы также можете попробовать добавить строку: print " "+'"'+'a word that needs quotation marks'+'"'

Ответ 7

Один случай, который распространен в дубликатах, - это требование использовать кавычки для внешних процессов. Обходной путь для этого - не использовать оболочку, которая устраняет требование для одного уровня цитирования.

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

можно с пользой заменить на

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

(который также исправляет ошибку, что метасимволы оболочки в filename должны быть экранированы из оболочки, которую исходный код не смог выполнить, но без оболочки, не нужно для этого).

Конечно, в подавляющем большинстве случаев вы вообще не хотите или не нуждаетесь в внешнем процессе.

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