python Windows下路径名用‘/‘还是‘‘(以及和Linux的区别)
Posted 玛丽莲茼蒿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python Windows下路径名用‘/‘还是‘‘(以及和Linux的区别)相关的知识,希望对你有一定的参考价值。
目录
在跑脚本的时候,Linux下可以运行的脚本到Windows下报错了,归根结底是路径的问题,所以总结一下。
我们都知道,Linux下的路径分隔符是'/',而Windows下的路径分隔符是'\\'。
'/'可以直接用,而'\\'不能的根源在于字符串里面\\被作为转义字符使用。
一、Linux下的路径名
一律用'/'。
二、Windows下的路径名
Windows下根据你的需求不同,有几种情况可以选择。各有利弊。
为什么不固定用一种方式呢,因为每个人的需求不同嘛。
就按照我自己来说,我更愿意让Windows和Linux统一起来,所以选择用下面第3种情况,但是在使用一些os.path函数的时候需要额外“注意”一下。
2.1 转义
'D:\\have\\a\\good\\day\\test.txt'
改为:
'D:\\\\have\\\\a\\\\good\\\\day\\\\test.txt'
这也是Python默认使用的方式,从下图中的os.getcwd函数就能看出。
2.2 声明字符串不需要转义(不推荐)
在字符串前面加一个r
'D:\\have\\a\\good\\day\\test.txt'
改为:
r'D:\\have\\a\\good\\day\\\\test.txt'
2.3 和Linux一样,用'/'
Python完全支持在Windows下使用和Linux的分隔符'/'。举个栗子,我们用带有'/'的路径新建一个文件夹。
注意01:因为Python的一些路径函数默认使用的是转义'\\\\'的形式,所以用到这些函数的时候,要多留心一下。
写了一个三行的小脚本演示一下。
这个脚本的本意是按照分隔符去分割当前路径,在Linux下运行是完全没有问题的。在Windows下运行就偏离了我们的本意(如图,并没有分割成功)。
注意02:'/'和'\\'('\\\\')可以混用。举个栗子
我们先打印当前路径os.getcwd,可以看出是用的'\\'('\\\\'),然后我们给他连接上一个'/'。创建名为hello的文件夹
创建成功了。说明'/'和'\\'('\\\\')可以混用。
以上是关于python Windows下路径名用‘/‘还是‘‘(以及和Linux的区别)的主要内容,如果未能解决你的问题,请参考以下文章