Answers:
这是代码:
f = open(filename, 'w')
f.write("hello\talex")
\t
字符串的内部是水平制表符的转义序列。
print "a\tb"
给了我a (8 spaces)b
在cmd
上Windows
。为什么打印8个空格而不是制表符。
a (tab character)b
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。
\t
。我怎样才能做到这一点?
正如未在任何答案中提到的那样,以防万一您想要对齐和间隔文本时,可以使用字符串格式功能。(在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
以下是一些获取“ hello” TAB“ alex”(使用Python 3.6.10测试)的更奇特的Python 3方法:
"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(<上方字符串>)”应打印'hello \ talex'。
请参阅相应的Python文档以获取参考。