windows平台路径python路径字符串拼接os.path.join()出现反斜杠‘\‘问题
近期在win10环境调试linux python代码时遇到一个有趣的现象,如题目所述。
现象
请看示例。
代码:
dir = "/home/lhb"
file = "pip.ini"
path = os.path.join(dir, file)
print(path)
输出:
/home/lhb\pip.ini
该结果再vs code或git bash窗口执行都一样结果。
linux平台的代码执行结果:
dcs-50@root:/home/lhb/tool$ cat test.py
import osdir = "/home/lhb/"
file = "pip.ini"
path = os.path.join(dir, file)
print(path)
dcs-50@root:/home/lhb/tool$ python3 test.py
/home/lhb/pip.ini
分析
经过百度分析,原来有这样的规律: os.path.join()在Linux/macOS下会以斜杠(/)分隔路径,而在Windows下则会以反斜杠(\)分隔路径
平台系统的差异,一套代码不能打天下平台兼容性就有问题了。
解决方法
路径字符串需要以‘/’结尾,最后一个字符串不需要。
win10下,修改代码并执行如下:
lhb@DESKTOP-L64O580 MINGW64 ~/Desktop (master|SPARSE)
$ cat test.py
import osdir = "/home/lhb/"
file = "pip.ini"
path = os.path.join(dir, file)
print(path)lhb@DESKTOP-L64O580 MINGW64 ~/Desktop (master|SPARSE)
$ python test.py
/home/lhb/pip.ini
结论
python路径拼接,记得以‘/’结尾,才能保证跨平台使用。
windows平台路径python路径字符串拼接os.path.join()出现反斜杠‘\‘问题相关推荐
- python路径拼接os.path.join()函数和os.makedirs的用法
python路径拼接os.path.join()函数的用法 os.path.join()函数:连接两个或更多的路径名组件 1.如果各组件名首字母不包含'/',则函数会自动加上 2.如果有一个组件是一个 ...
- 【Python教程】 正则表达式 re模块中,反斜杠 “\“分割字符串的正确操作方法
Python 语言使用反斜杠(\)作为转义符,对一些字符进行转义(escape),例如 "\n" "\r\n" 等.所以当 Python 字符串中如果出现反斜杠 ...
- JsonArray或者JsonObject转字符串后里面带有转义字符或者反斜杠的处理方式
一般出现这种toString后json串里面带有转义字符的原因是往jsonObject中直接put了String类型的内容,比如jsonObject.put("key"," ...
- python路径拼接os.path.join()函数完全教程
os.path.join()函数用于路径拼接文件路径. os.path.join()函数中可以传入多个路径: 只有一个以"/"开头的参数时,会从第一个以"/"开 ...
- python路径拼接os.path.join()函数的用法
os.path.join()函数:连接两个或更多的路径名组件 1.如果各组件名首字母不包含'/',则函数会自动加上 2.如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃 3.如果最后一个组 ...
- python路径拼接os.path.join()函数完全教程_详解python路径拼接os.path.join()函数的用法...
os.path.join()函数:连接两个或更多的路径名组件 1.如果各组件名首字母不共含'/',则函数会自动加上 demo1 import os Path1 = 'home' Path2 = 'de ...
- python,路径拼接,字符串拼接,os.path.join()函数怎么用?
一.os.path.join()函数的基本规则 第一步:首先看各个path参数中有无以[盘符:]或[\]开头的字符串(\前面除了[盘符:]不能有其他),如果没有,就会把所有参数保留,参数之间有\分隔. ...
- os.path.join (python路径拼接)
python路径拼接os.path.join()函数的用法 # 数据路径root = 'H:\Butterfly_detection\yolov5-1.0-baseline\VOCdevkit\VOC ...
- glob.glob() + os.path.join() :找到文件路径,拼接路径
1. glob方法: glob模块的主要方法就是glob,该方法返回所有匹配的文件路径列表(list):该方法需要一个参数用来指定匹配的路径字符串(字符串可以为绝对路径也可以为相对路径),其返回的文件 ...
最新文章
- 深入了解 TabNet :架构详解和分类代码实现
- SpringMVC环境配置全过程IntelliJ IDEA 2020.3.1
- 51nod1836-战忽局的手段【期望dp,矩阵乘法】
- 超级干货!31 条2020 年最新版 ZooKeeper面试题,先收藏再看!| 博文精选
- oracle ndv,CBO_ORACLE
- 轻松带你走进shiro的世界
- defer 和 async 区别
- PC服务器实现海量数据存取的方法
- python画超长图-利用Python画图,千变万化,各种画图技巧!
- oracle游标特点,oracle游标应用 sys_refcursor 和 cursor比较
- 计算机网络的功能分类,计算机网络的功能与分类
- stylecloud:一款可以制作个性化词云图的 Python 神器
- Intellij创建自己的TODO
- Android之黄油刀(butterknife)
- 微软的苹果香味——专访微软MacBU组成员
- 不给移动一分钱!10个免费发短信的国外站点
- 交换机配置软件具有的作用
- 苹果cms模板_首涂第三套苹果CMSv10自适应视频站模板
- 携手京东发布锐龙品牌整机,AMD这次会赶超英特尔吗
- JS实现轮播图(手动切换+自动切换两种方法)