2010-12-20 86 views

回答

94

這是代碼:

f = open(filename, 'w') 
f.write("hello\talex") 

字符串內的\ t是用於水平製表的轉義序列。

+2

使用'打印 「一個\ TB」'給我'一個(在Windows上的'cmd'中有8個空格)b'。爲什麼它會打印8個空格而不是製表符。 – 2015-03-15 16:47:23

+0

你還期待什麼? – Simone 2015-03-16 08:20:12

+5

要顯示'a \t(製表符)b' – 2015-03-16 09:13:34

14

您可以使用\ t在字符串文本:

"hello\talex"

10

它通常\t在命令行界面,這將焦炭\t轉換成空白製表符。例如,hello\talex - >hello--->alex

5

Python reference manual包含幾個可以在字符串中使用的字符串文字。這些特殊的字符序列被轉義序列的預期意義所取代。

下面是一些更有用的轉義序列和它們輸出的描述。

Escape Sequence  Meaning 
\t     Tab 
\\     Inserts a back slash (\) 
\'     Inserts a single quote (') 
\"     Inserts a double quote (") 
\n     Inserts a ASCII Linefeed (a new line) 

基本示例

如果我想打印一個標籤的空間,我可以打印這個字符串分隔一些數據點。

DataString = "0\t12\t24" 
print (DataString) 

返回

0 12 24 

舉例列出

這裏我們打印清單的項目另一個例子,我們希望sperate通過TAB的項目。

DataPoints = [0,12,24] 
print (str(DataPoints[0]) + "\t" + str(DataPoints[1]) + "\t" + str(DataPoints[2])) 

返回

0 12 24 

原始字符串

注意,原始字符串(一個字符串,它包含一個前綴 「R」),字符串將被忽略。這允許這些特殊的字符序列被包含在字符串中而不被改變。

DataString = r"0\t12\t24" 
print (DataString) 

返回

0\t12\t24 

這可能不希望輸出

字符串長度

還應當指出的是,字符串文字的長度只有一個字符。

DataString = "0\t12\t24" 
print (len(DataString)) 

返回

7 

原始字符串有9

1

由於這是不以任何答案中提到的長度,以防萬一你想你的文字對齊和空間,您可以使用字符串格式功能。 (高於python 2.5)當然\t實際上是一個TAB標記,而所描述的方法會生成空格。

實施例:

print "{0:30} {1}".format("hi", "yes") 
> hi        yes 

另一示例中,左對齊:

print("{0:<10} {1:<10} {2:<10}".format(1.0, 2.2, 4.4)) 
>1.0  2.2  4.4 
+0

如何給tab字符打印3維數組元素爲0 12 24爲3行? – 2017-12-10 17:46:47

+0

已添加到答案 – user1767754 2017-12-10 20:01:12