记一次 Python 转义字符所引起的问题及关于其的学习笔记
前言
可恶,QEXO 没自动保存,本身前言都写完了,结果一个字都没了()
事情的起因是这样的
我的朋友写了个程序,我要做的就是在 Python 终端中切到这个包含这个 Python 程序的目录中再 import
说人话就是先 os.chdir(path)
再 import(file)
1 | import(os) |
我按照上面的步骤操作,但遇到了一点问题
1 | os.chdir("C:\Users\惟灿 Can1425\DownLoads\mPython-Flag-OS-ALpha (1)\mPython-Flag-OS-Alpha\tools") |
本身 Python 还没学完,再加上好久没怎么玩了,我跟个煞笔一样把这东西发给了群友
行吧,那我们来说说这个 Python 中的转义字符
细讲“转义字符”
概念
Python 中有些符号具有特殊的含义,比如''
和""
用来表示一个字符串等等,以及一些不好表达的内容,如换行符,制表符
为了在字符串中输入这些特殊字符,便有了转义字符。转义字符是 Python 中具有特殊含义的字符,以 \ 开头
实例
新建一个demo_string_escape_error.py
文件,写入如下内容
1 | txt = "We are the so-called "Vikings" from the north." |
运行给出的报错如下
1 | File "demo_string_escape_error.py", line 1 |
转义字符\"
就该上场了
修改demo_string_escape_error.py
的代码为
1 | txt = "We are the so-called \"Vikings\" from the north." |
再运行,可以看到并没有报错出现
意义
经过上述操作,转义字符的意义已经很明确了,无疑就是帮助你在字符串中插入非法字符
回到问题
回到最初的问题,我们先来看看我是怎么用os.chdir(path)
命令的
1 | os.chdir("C:\Users\惟灿 Can1425\DownLoads\mPython-FLag-0S-Alpha (1)\mPython-Flag-OS-Alpha\tools") |
好像没什么问题,但让我们来看看 Python 的非法字符有哪些
非法字符
- 数字:在标识符的开头不能是数字;
- 空格:不能包含空格;
- 标点符号:不能包含标点符号,如@、$、%、#、!等;
- 运算符:不能包含运算符,如+、-、*、/等;
- 分隔符:不能包含不允许的分隔符,如:、;、.、,、(、)、[、]、{、}等;
- 引号:不能包含引号,如单引号’、双引号”等;
- 特殊字符:不能包含特殊字符,如换行符、制表符等。
ok,注意看第四条,我们的目录路径中有/
很显然,这是非法字符,报错也就理所当然了
解决问题
根据实例,举一反三。将目录中的/
换成相对应的转义字符//
即可
附录
转义字符 | 含义 |
---|---|
\‘ | 代表一个单引号 |
\“ | 代表一个双引号 |
\\ | 代表一个反斜杠 |
\n | 换行 |
\r | 返回光标至首行 |
\f | 换页 |
\v | 垂直制表符 |
\t | 水平制表符 |
\b | 删除一个字符再打印,相当于 Backspace 按键 |
\0 | 空字符 Null |
\0oo | 三位的八进制数表示的字符 |
\xXX | 两位的十六进制数表示的字符 |
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自惟灿 Can1425