如何在 Python 中编写“ tab”?

假设我有一个文件,如何写“ hello”TAB“ alex”?

662591 次浏览

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

"hello\talex"

在命令行界面中通常是 \t,它将字符 \t转换为空格选项卡字符。

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

这是密码:

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

字符串中的 \t是水平列表的转义序列。

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)

基本例子

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

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

报税表

0    12    24

列表示例

下面是另一个例子,我们正在打印列表中的项目,我们希望通过一个 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。

因为在任何答案中都没有提到它,所以为了以防您想要对齐和间隔文本,您可以使用字符串格式特性。(在 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

下面是一些更奇特的 Python 3获取“ hello”TAB“ alex”的方法(使用 Python 3.6.10进行了测试) :

"hello\N{TAB}alex"

"hello\N{tab}alex"

"hello\N{TaB}alex"

"hello\N{HT}alex"

"hello\N{CHARACTER TABULATION}alex"

"hello\N{HORIZONTAL TABULATION}alex"

"hello\x09alex"

"hello\u0009alex"

"hello\U00000009alex"

实际上,不使用转义序列,而是可以将制表符号直接插入字符串文字中。下面是要复制和尝试的带有表格字符的代码:

"hello alex"

如果在复制字符串的过程中,上面字符串中的选项卡不会丢失,那么“ print (repr (< string from above >)”应该打印“ hello talex”。

请参阅 各自的 Python 文档

假设我有一个名为 file的变量,它包含一个文件。 然后我可以用 file.write("hello\talex")

  1. file.write("hello表示我开始写入这个文件。
  2. \t表示一个标签
  3. alex")是我剩下的作品