嗯......当我想在python中执行“print”命令并且需要使用引号时,我不知道如何在不关闭句子的情况下如何操作。例如:Python - 在引号内使用引号
打印“”
但是,当我尝试做什么我做上面,我最终关闭这句话,我不能把‘需要引号的字’我需要引号之间的单词。
我该怎么做?
嗯......当我想在python中执行“print”命令并且需要使用引号时,我不知道如何在不关闭句子的情况下如何操作。例如:Python - 在引号内使用引号
打印“”
但是,当我尝试做什么我做上面,我最终关闭这句话,我不能把‘需要引号的字’我需要引号之间的单词。
我该怎么做?
您可以通过三种方式来实现:
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"
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"
你需要转义:
>>> print "The boy said \"Hello!\" to the girl"
The boy said "Hello!" to the girl
>>> print 'Her name\'s Jenny.'
Her name's Jenny.
请参阅python页面string literals。
使用文字转义字符\
print("Here is, \"a quote\"")
人物基本上意味着无视我的下一个字符内的语义上下文,并在其字面意义处理。
在Python 3.2.2在Windows上,
print(""""A word that needs quotation marks" """)
是确定的。我认为这是Python解释器的增强。
您也可以尝试串另外: 这是一式两份普遍print " "+'"'+'a word that needs quotation marks'+'"'
一种情况是使用外部流程的报价要求。解决这个问题的方法是不使用shell,这可以消除一个级别引用的需求。
os.system("""awk '/foo/ { print "bar" }' %""" % filename)
可以有效地和
subprocess.call(['awk', '/foo/ { print "bar" }', filename])
(这也解决了壳牌在filename
元字符将需要由壳体,其原代码没有做到逃脱的bug更换;但如果没有外壳,没有必要)。
当然,在绝大多数情况下,您根本不需要或不需要外部进程。
with open(filename) as fh:
for line in fh:
if 'foo' in line:
print("bar")
最佳答案,就在这里。 – Droogans 2012-01-29 02:21:12
转义双引号的作品,但你已经放入的额外空间现在是字符串的一部分,通过摆脱空格很容易修复。 与三引号字符串类似 - 多余的空格成为字符串的一部分,我不知道如何解决这个问题,因为将内置“三合一”引起SyntaxError – 2012-01-29 02:21:35
@JamesPolley你说得对案例#3。我已经修复了案例#2。 – 2012-01-29 02:24:10