在windows下编程,我们经常会遇到路径相关的问题,下面解释下原因,并给出python的解决方案。
为什么windows的路径在编程时经常会出问题?
windows访问文件默认用 做为路径的分隔符,而 可以作为转义字符。例如, ,a 表示一个字符,此时 是转义字符,而m 表示两个字符。
可以用代码验证:
>>>len('')>>>1>>>len('a')>>>1>>>len('a')>>>2
好,了解这个后,我们看下windows路径,如果路径中后面刚好是能转义字符,那代码就会识别为转义字符,这就导致路径解析错误。例如"c:est.txt",刚好有'',这就被解析为转义字符,路径就会错误。而如果路径为"c:moneym.xls",这样的话路径就不会解析错误。
可是,我们总不能为此去修改文件名吧,当然有别的办法,下面介绍下解决方案。
如何解决python在windows下的路径问题?
- 【推荐】不要使用 ,直接使用/ ,而且/ 在windows和linux下都适用。
'C:/mydir'
- 用双斜线
'C:mydir'
- 使用raw string的标记r
r'C:mydir'
- 【推荐】使用os.path 模块函数,可以根据操作系统选择正确的路径符
os.path.join('C:', dir1, dir2, myfile)
- 使用最新的pathlib模块
pathlib.Path(mydir, myfile)
或者
pathlib.Path(mydir) / myfile
最后小编个人有六年开发经验,我自己有做python材料的整合,一个完整的python编程学习路线,学习资料和工具。想要这些资料的可以关注小编,并在后台私信:发送“01”领取,希望能帮助到你。