2011-12-09 74 views
1

下面是有問題的片段:嘗試打印Unicode字符的使用控制檯的String.Format()

print '{:─^10}'.format('') # Print '─' character 10 times 

我用它來創建漂亮的控制檯和邊界等。問題是,在我的PY文件,#編碼UTF-8運行這給了我:ValueError異常:無效的轉換說明

如果我運行在Python殼在同一個腳本,它吐出來的是逃過一劫人物:'\ XC4 \ XC4 \ XC4 \ X ...'

我不知道如何(在我的腳本)來得到這個打印出'─'字符。如果我使用print'─'因爲UTF-8編碼,但是由於某種原因它不允許它在string.format()函數中打印'─'字符就好了。

有什麼建議嗎?我相信這可能很容易解決,但我很新的python編程。

在此先感謝。

回答

2

假設你正在使用Python2,你需要使用unicode(u'')字符串:

print u'{:─^10}'.format(u'') 
+0

** **哇我無法相信我錯過了。我在'{:─^ 10}'前面試過了你,但我沒有想到把它放在格式參數中。非常感謝!我知道這將是簡單的大聲笑 – Aedaeum