内容简介:在windows下编程,我们经常会遇到路径相关的问题,下面解释下原因,并给出python的解决方案。windows访问文件默认用可以用代码验证:
在windows下编程,我们经常会遇到路径相关的问题,下面解释下原因,并给出 python 的解决方案。
为什么windows的路径在编程时经常会出问题?
windows访问文件默认用 \
做为路径的分隔符,而 \
可以作为转义字符。例如, \t
, \a
表示一个字符,此时 \
是转义字符,而 \m
表示两个字符。
可以用代码验证:
>>>len('\t') >>>1 >>>len('\a') >>>1 >>>len('\a') >>>2
好,了解这个后,我们看下windows路径,如果路径中后面刚好是能转义字符,那代码就会识别为转义字符,这就导致路径解析错误。例如"c:\test\t.txt",刚好有'\t',这就被解析为转义字符,路径就会错误。而如果路径为"c:\money\m.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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Rework
Jason Fried、David Heinemeier Hansson / Crown Business / 2010-3-9 / USD 22.00
"Jason Fried and David Hansson follow their own advice in REWORK, laying bare the surprising philosophies at the core of 37signals' success and inspiring us to put them into practice. There's no jarg......一起来看看 《Rework》 这本书的介绍吧!