OS模块转义路径-Python对于转义字符的另一种处理方法

前言:需要从C向Python传入一个字符串,该字符串是从QT上位机界面通过选择文件得到的,类似这样:E:\datat\signal.mat ,但是用Python直接打开这个文件是不可以的,可以通过三种方式来解决这个问题:

        1、首先是在前面加上 r ,但是好像不太好实现,因为这个是作为一个字符串参数进行的传入

        2、在Python中将‘\’,全部替换为‘\\’,这样就解决了转义的问题

        3、当路径中没有转义字符的时候‘\’和‘\\’是一样的,当你进行直接的print会看到。但是当路径中有转义字符的话这时候就会比较麻烦,使用os模块也无法进行相应的转换,建议写一个函数进行相应的转换,比如replace(‘\t’,'\\t'),将转义字符表都包括进去。

(转义时ASCII一般是 \ 加八进制数字表示,所以 \ 后面最好也不要跟8以下的数字,也会被转义为对应的ASCII码)

            OS模块转义路径-Python对于转义字符的另一种处理方法_第1张图片

                                   OS模块转义路径-Python对于转义字符的另一种处理方法_第2张图片

转义字符 描述
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出

你可能感兴趣的:(Python杂谈)