python oserror 22_Python3 (Win10) 打开文件报错OSError: [Errno 22]

今天在写一个发送带附件的邮件的python小程序时,运行后在读取本地一个图片的地方突然报了打开文件错误:

Traceback (most recent call last):

File "D:/python/workspace/demo/emails/send_email.py", line 90, in

sendEmail_file()

File "D:/python/workspace/demo/emails/send_email.py", line 68, in sendEmail_file

with open(r'D:\python\workspace\demo\test.jpg', 'rb') as f:

OSError: [Errno 22] Invalid argument: '\u202aD:\\python\\workspace\\demo\\test.jpg'

仔细检查代码发下没问题啊,就是很简单open(file)方法打开文件啊:

with open(r'D:\python\workspace\demo\test.jpg', 'rb') as f:

由报错信息来看貌似是文件路径问题, 但我是直接从该图片文件右键属性里边复制的文件带路径全称啊,而且加了 r’ ‘ 来避免某些字符转义所以感觉这不应该有问题啊,于是我就试着自己亲手打出来了,结果完美运行,终于找到问题了,我在win10文件资源管理器中通过文件右键属性复制的带路径的文件名中,前面 ‘D:’ 的部分貌似有编码问题,删了重新在英文输入状态下打出来就没问题了,具体是什么原因暂时没搞明白,这里记录一下,顺便给碰巧遇见这个问题的朋友一个小提示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值