如何在Python中编写"选项卡"?

TIM*_*MEX 108 python tabs

假设我有一个文件.我怎么写"你好"TAB"alex"?

Sim*_*one 136

这是代码:

f = open(filename, 'w')
f.write("hello\talex")
Run Code Online (Sandbox Code Playgroud)

字符串内的\ t是水平制表的转义序列.

  • 显示`a(制表符)b` (6认同)
  • 使用`print'a\tb"`在`Windows`上的`cmd`中给我一个(8个空格)b`.为什么打印8个空格而不是制表符. (5认同)
  • @RickHenderson事实并非如此,制表符不仅是空格。也许您的编辑器配置为在按Tab键上插入空格。“”是标签“”是空格。您可能没有在这里看到差异,但是打开Word / Libre,您将看到差异。 (2认同)

Kni*_*nio 25

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

"hello\talex"


Cod*_*ard 21

Python 参考手册包括几个可以在字符串中使用的字符串文字.这些特殊的字符序列被转义序列的预期含义所取代.

下面是一些更有用的转义序列表以及它们的输出描述.

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)
Run Code Online (Sandbox Code Playgroud)

基本例子

如果我想打印一些由制表空间分隔的数据点,我可以打印这个字符串.

DataString = "0\t12\t24"
print (DataString)
Run Code Online (Sandbox Code Playgroud)

返回

0    12    24
Run Code Online (Sandbox Code Playgroud)

列表示例

这是我们打印列表项目的另一个示例,我们希望通过TAB对项目进行处理.

DataPoints = [0,12,24]
print (str(DataPoints[0]) + "\t" + str(DataPoints[1]) + "\t" + str(DataPoints[2]))
Run Code Online (Sandbox Code Playgroud)

返回

0    12    24
Run Code Online (Sandbox Code Playgroud)

原始字符串

请注意,原始字符串(包含前缀"r"的字符串),字符串文字将被忽略.这允许这些特殊的字符序列包含在字符串中而不会被更改.

DataString = r"0\t12\t24"
print (DataString)
Run Code Online (Sandbox Code Playgroud)

返回

0\t12\t24
Run Code Online (Sandbox Code Playgroud)

这可能是一个不受欢迎的输出

字符串长度

还应注意,字符串文字的长度只有一个字符.

DataString = "0\t12\t24"
print (len(DataString))
Run Code Online (Sandbox Code Playgroud)

返回

7
Run Code Online (Sandbox Code Playgroud)

原始字符串的长度为9.


Dar*_*bio 14

它通常\t在命令行界面中,它将char \t转换为空白制表符.

例如,hello\talex- > hello--->alex.


use*_*754 6

正如未在任何答案中提到的那样,以防万一您想要对齐和间隔文本时,可以使用字符串格式功能。(在python 2.5之上)当然\t实际上是TAB令牌,而所描述的方法会生成空格。

例:

print "{0:30} {1}".format("hi", "yes")
> hi                             yes
Run Code Online (Sandbox Code Playgroud)

另一个示例,左对齐:

print("{0:<10} {1:<10} {2:<10}".format(1.0, 2.2, 4.4))
>1.0        2.2        4.4 
Run Code Online (Sandbox Code Playgroud)