2015-10-17 37 views
2

我有這種情況,我正在構建一個python字典,其中包含一串網頁的樣式部分的字符串。這個想法是能夠從關聯數組(字典)的關鍵字設置頁面的樣式。作爲CSS指令一部分的括號不會傳遞Python解析器,即使它們加倍並在引用字符串中。如何使用嵌入curley brachets在Python中創建多行字典值?

打開和關閉括號加倍。看起來問題在於 字符串的佈局。 Python會看到EOL,並在應該繼續吃下字符串時引發語法錯誤,直到下一個引號爲 。我試着將雙引號改爲單引號,沒有機會。

File "styles.py", line 2 
    "<style> body {{ margin: 5%; background: lightyellow; }} 
                ^
SyntaxError: EOL while scanning string literal 

的字典的第一ELEM是:這是Python的3.4

$ head -15 styles.py 
styles = { "lightyellow": 
    "<style> body {{ margin: 5%; background: lightyellow; }} 
    #nav {{list-style: none;}} 
    #nav li{{ 
     display:inline; 
    }} 
    #nav a{{ 
     display:inline-block; 
     padding:10px; 
     color: #000; 
    }} 
</style>", 
.... 

有什麼建議?我是否應該將所有行加入一起,並用UNIX轉義符, 製表符和換行符替換空白處?

+1

您也需要多行字符串('」 「」'),或打開和關閉引用每行,並讓Python在默認情況下將它們連接起來。 – jonrsharpe

+0

@jonrsharpe這應該是一個答案。 – ppperry

回答

0

謝謝。我已經確認三重引用多行值確實有效。請注意, 項目以相反的順序出現。

$ python3 paras.py

dict_keys([ 'ITEM2', 'ITEM1']) dict_values([ '\ n這是又一項目\ nhaving一個多值\ n在Python字典。\ N' ,''\ n這就是第一行\ n是第二行\ n \ n是第三行\ n的多線值\ n']) Bruces-MacBook-Pro:〜brucesalem $ cat paras.py

paras = { 'ITEM1': 「」 「」

這是一條線

這是線2

這是第三線

多內襯值

「」 的

「 'ITEM2': 」「」

這具有另一個項目

多行值

python字典。 「」 「}

打印(paras.keys())

打印(paras.values())

相關問題