社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python os的用例是什么。路径当一个参数是绝对路径时,是否在之前删除所有参数?[重复]

henning • 3 年前 • 1363 次点击  

我正在学习Python,我注意到我的一个脚本有些奇怪。做了一点测试,我发现问题源于这种行为:

>>> import os
>>> os.path.join('a','b')
'a/b'
>>> os.path.join('a','/b')
'/b'

检查 documentation ,这实际上是功能的设计:

操作系统。路径 参加 ( 路径1 [ , 路径2 [ , ... ]] )

智能地连接一个或多个路径组件。如果任何组件是绝对路径,则所有以前的组件(在Windows上,包括以前的驱动器号,如果有)都将被丢弃,并继续加入。。。

我的问题不是 why my script failed 而是为什么功能是这样设计的。我是说,至少在Unix上, a//b 这是一种完全可以接受的指定路径的方式,如果不是优雅的话。为什么功能是这样设计的?有没有办法判断一个或多个path元素在测试每个path字符串之前是否已被丢弃 os.path.isabs() ?


出于好奇,我还检查了路径组件以 os.sep 人物:

>>> os.path.join('a/','b')
'a/b'

正如预期的那样。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/128276
 
1363 次点击  
文章 [ 2 ]  |  最新文章 3 年前