2010-11-04 27 views
1

在PHP中我可以這樣做:Python - print直到標記(a la PHP)?

print <<<END 
This uses the "here document" syntax to output 
multiple lines 
END; 

有沒有辦法做到在Python類似的東西?

我想轉儲一大塊HTML,而不必擔心如何逃脫,尖括號。

+1

「不用擔心逃跑」?什麼?你擔心什麼逃脫? Python不是PHP,也沒有嵌入到<, >和&事件的網頁中。你在問什麼? – 2010-11-04 10:14:04

+0

我想逃避任何可能被python解析器非逐字處理的東西。行情可能?無論如何,我認爲@Mark的答案是我正在尋找的。 – 2010-11-04 10:48:56

+0

「引號也許?」也許?你遇到什麼樣的問題?您正在使用什麼Python教程?這很好,幾乎在每個教程中都有介紹。請提供您正在使用的教程的標題或鏈接,省略提及字符串。 – 2010-11-04 11:04:51

回答

4

Python沒有任意開始/結束標記的heredocs。你可以使用三引號(單人或雙人),以達到非常類似的東西:

print ''' 
This uses the "here document" syntax to output 
multiple lines 
''' 

添加r使其原始字符串,以便反斜槓也沒有經過特殊處理。 r'''....'''

+1

區別在於你從\ n開始。 – 2010-11-04 10:13:24

+2

@Antoine Pelisse:可以省略換行符,但這樣做會破壞源代碼中精美的左對齊佈局。您可以在運行時使用條帶去除不需要的換行符,但會降低性能。你可以在第一行使用反斜槓來轉義新行''''\'但是你不能使用原始字符串。所以總之,答案是'不,Python不完全具備這個功能,但是你可以變得非常接近。' – 2010-11-04 10:18:16

+1

如果最初的換行符困擾你,你可以在第一行執行''''\'。有時候我們甚至會用'''''''''.strip()'去除換行符。 – 2010-11-04 10:21:45