2012-01-29 13 views
41

まあ...私はPythonで "print"コマンドを実行したいが引用符を使用する必要がある場合、文章を閉じることなくそれを行う方法はわかりません。例えば:Python - 引用符で引用符を使用する

印刷「」

『引用符を必要とする単語』しかし、私は私が上でした何をしようとしたとき、私は文を閉じてしまうと、私は置くことができません私は引用符で囲む必要があります。

どうすればいいですか?

答えて

129

あなたは3つの方法でこれを行うことができます:

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" 
+1

ここで最善の答え。 – Droogans

+4

二重引用符をエスケープしますが、余分なスペースはスペースの一部を取り除くことで簡単に固定された文字列の一部になりました。 同様に3重引用符で囲まれた文字列と同じように余分なスペースが文字列の一部となり、内部を「トリプルの隣に置く」ように修正する方法がわかりませんSyntaxError –

+0

@JamesPolleyケース#3。私はケース#2を修正しました。 –

3

「あなたはこれを行うことができるように、引用符として 'と:また

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

だけ内側の脱出、「Pythonは、両方受け入れあなたはそれをエスケープする必要があるのを

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

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

string literalsのpythonページを参照してください。

2

\

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

リテラルのエスケープ文字を使用する文字は、基本的に私の次のcharcterの意味文脈を無視して、その文字通りの意味でそれに対処することを意味します。 Windows上のPython 3.2.2で

1

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

はokです。私はそれがPythonインタプリタの拡張だと思う。

0

また、文字列の追加を試みることができる:二重に流行している print " "+'"'+'a word that needs quotation marks'+'"'

1

一つの場合は、外部プロセスのために引用符を使用するための要件です。これを回避するには、シェルを使用しないでください。シェルを使用すると、1段階のクォートの要件が取り除かれます。

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

は有効にも、元のコードが何を失敗したシェルからエスケープする必要があるだろうfilenameでメタ文字をシェルバグを修正し

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

(と置換することができる。しかし、なしシェル、その必要はありません)。

もちろん、ほとんどの場合、外部プロセスを必要とせず、必要としません。

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