1)Python raw字符串(raw strings)
在路径当中,一般读取的时候会在路径前面加上一个r,如下代码:
# 返回path目录下所有文件 以列表形式输出
import os
print(os.listdir(r'E:\Amusement'))
r=raw,用r’'的方式表示的字符串叫做raw字符串,用于抑制转义。
raw字符串
s =r’C:\new’中,r’'的功能就是把"\n"变成"\\n",从而使转义字符失效。
如果字符串中不带转义字符,则带不带r’’,字符串的意思都是一样的,例如
spam = r'hello'
eggs = 'hello'
上面两个变量表示字符串没有任何差别。
以下代码能够说明r’'如何使转义符失效
print(r'aaa\naaa')
# 输出:aaa\naaa
print('aaa\naaa')
# 输出:
# aaa
# aaa
2)Python中的常用转义符
今天对Python中常用的转义符做了一个整理
代码 | 输出 |
---|---|
print("Hello World\\Hello World") (反斜杠符号) |
Hello World\Hello World |
print("Hello World\'Hello World") (单引号) |
Hello World’Hello World |
print("Hello World\"Hello World") (双引号) |
Hello World"Hello World |
print("Hello World\bHello World") (退格) |
Hello WorlHello World |
print("Hello World\nHello World") (换行符) |
Hello World Hello World |
print("Hello World\tHello World") (横向制表符) |
Hello World Hello World |
print("Hello World\rHello2 World") (回车) |
Hello2 World |
3)JupyterNotebook路径输出的疑问
这也就解释了之前在JupyterNotebook中我对于路径输出的疑问,为什么用normpath()函数得到的路径依然是带有\\的路径
JupyterNotebook中的输出分为两种:1、正常输出文本,也就是我们用print函数在终端输出的文本
2、程序员可视文本,也就是当我们没有写输出函数时cell执行后在终端输出的结果,如上图所示
由于r’'的功能就是把"\n"变成"\\n",从而使转义字符失效,因此程序员可视文本就如上图所示有两个反斜杠\\
如果有print函数则结果将变为我们熟悉的输出
点击收货一只程序员朱帅