Sim*_*one 136
这是代码:
f = open(filename, 'w')
f.write("hello\talex")
Run Code Online (Sandbox Code Playgroud)
字符串内的\ t是水平制表的转义序列.
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.
正如未在任何答案中提到的那样,以防万一您想要对齐和间隔文本时,可以使用字符串格式功能。(在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)