Python学习:Windows路径中的转义字符 \ 问题解决办法

2020/7/16 更新:

增加解决方法 3:在路径字符串前加 r'filepath'

例子代码:

path = r"D:\PixivWallpaper\catavento.png"
print('path:'+path)

输出结果

D:\PixivWallpaper\catavento.png

加 r 的作用是把转义字符 \ 变成普通字符。


1.前言

在学习PyQt5时,要进行图片文件读取,然后我就想先找一个文件来测试,直接在Windows文件管理器复制了个文件路径,但读取失败了。后面才发现复制的地址和用 QFileDialog 控件读取的路径书写格式不一样,在把复制的路径改成QFileDialog读取的格式后成功读取了图片文件。

进而才想起在python中 \ 是转义字符,所以在读取文件才出错。

"D:\PixivWallpaper\catavento.png"   (windows格式)

"D:/PixivWallpaper/catavento.png"  (Linux格式,也就是QFileDialog 控件的格式 )

 

2.解决代码与分析

path = "D:\PixivWallpaper\catavento.png"
print('path:'+path)
#方法1:'\'-->'/'
path_1 = '/'.join(path.split('\\'))
print('path_1:'+path_1)
#方法2:'\'-->'\\'
path_2 = '\\\\'.join(path.split('\\'))
print('path_2:'+path_2)

运行结果

path:D:\PixivWallpaper\catavento.png
path_1:D:/PixivWallpaper/catavento.png
path_2:D:\\PixivWallpaper\\catavento.png

有结果可以看出成功转换了Windows路径。

 

其中 split() 是字符串分割函数,例如他会把代码中的"D:\PixivWallpaper\catavento.png" 以‘\’为分割符f分成

("D:" ,"PixivWallpaper" ,"catavento.png") 三个字符串的列表

而 xx.join() 是字符串合并函数,xx是在合并字符串之间想加上的字符,例如  ','.join(("D:" ,"PixivWallpaper" ,"catavento.png"))

合并成:"D:,PixivWallpaper,catavento.png"

 

 

 

 

 

 

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在Python转义字符用反斜杠 "\" 表示。它可以用于在字符串插入一些特殊字符,比如换行符 "\n",制表符 "\t",或者反斜杠本身 "\\"。例如,如果你想在字符串插入一个双引号,可以使用转义字符 "\",如下所示: ``` print("She said, \"Hello!\"") ``` 输出结果为: ``` She said, "Hello!" ``` 另外,如果你想让字符串的反斜杠字符显示出来,你需要使用双反斜杠 "\\",如下所示: ``` print("C:\\Users\\John\\Documents") ``` 输出结果为: ``` C:\Users\John\Documents ``` ### 回答2: 在Python转义字符用于表示一些特殊字符,这些特殊字符在正常情况下是无法直接表示的。在字符串使用转义字符,可以实现对这些特殊字符的表示和处理。 常见的转义字符包括: 1. 反斜杠(\):用于转义字符本身。例如,如果要表示一个反斜杠,可以使用\\。 2. 单引号(')和双引号("):用于表示字符串的起始和结束。如果字符串本身包含这些引号,可以使用转义字符进行表示。例如,\'表示单引号,\"表示双引号。 3. 换行符(\n):用于表示换行。例如,可以使用print("Hello\nWorld")来实现换行输出。 4. 制表符(\t):用于表示制表符。例如,可以使用print("Name\tAge")来实现制表输出。 5. 回车符(\r):用于表示回车。常用于Windows系统的文本文件。 6. 垂直制表符(\v):用于表示垂直制表符。 7. 转义字符(\)之后跟一个八进制或十六进制数值,表示一个ASCII字符。例如,\x41表示大写字母A,\141表示小写字母a。 通过使用转义字符,可以在字符串包含特殊字符,并实现一些特定的显示和处理效果。在处理文件路径、正则表达式和特殊字符匹配等情况下,转义字符的使用非常重要。 ### 回答3: 在Python转义字符是一种特殊的字符,由反斜杠符号(\)和字符组合而成,用于表示一些特殊的字符或者字符序列。 首先,转义字符的使用可以用于插入一些特殊的字符,例如引号、换行符以及制表符。例如,使用转义字符\”可以在字符串插入双引号,\’可以插入单引号,\n表示换行,\t表示制表符。 此外,转义字符还可以用于插入一些难以直接输入的字符,例如\和$。例如,在正则表达式,如果想要搜索以$结尾的字符串,则需要使用\符号进行转义。 另一方面,转义字符还可以用于表示一些特殊的字符序列,例如\uxxxx表示Unicode字符,其xxxx由4位十六进制数字组成。这样的转义字符可以用于表示各种特殊的字符,例如特殊符号、非ASCII字符等。 需要注意的是,在Python,反斜杠符号(\)本身也是一个转义字符。如果想要表示反斜杠本身,则需要使用两个连续的反斜杠(\\)。 总结起来,Python转义字符可以用于插入特殊字符、表示特殊字符序列以及表示难以输入的字符。了解和熟练运用转义字符可以帮助我们更灵活地处理字符串的相关操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值