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"

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值