python连接路径_在Python中构造URL时如何连接路径的组件

就像你说的,os.path.join连接基于当前操作系统的路径。posixpath是在名称空间os.path下的posix系统上使用的底层模块:>>> os.path.join is posixpath.join

True

>>> posixpath.join('/media/', 'js/foo.js')

'/media/js/foo.js'

因此,您可以导入并使用posixpath.join代替url,url是可用的,可以在任何平台上工作。

编辑:@Pete的建议很好,您可以将导入命名以提高可读性from posixpath import join as urljoin

编辑:如果您查看os.py的源代码(这里的代码来自Python 2.7.11,再加上我已经修改了一些位),我想这会更清楚,或者至少帮助我理解。在os.py中有条件导入,它选择要在命名空间os.path中使用的路径模块。所有的底层模块(posixpath,ntpath,os2emxpath,riscospath)都可以在os.py中导入,别名为path,并且存在于所有系统上。os.py只是在运行时根据当前操作系统在命名空间os.path中选择要使用的模块之一。# os.py

import sys, errno

_names = sys.builtin_module_names

if 'posix' in _names:

# ...

from posix import *

# ...

import posixpath as path

# ...

elif 'nt' in _names:

# ...

from nt import *

# ...

import ntpath as path

# ...

elif 'os2' in _names:

# ...

from os2 import *

# ...

if sys.version.find('EMX GCC') == -1:

import ntpath as path

else:

import os2emxpath as path

from _emx_link import link

# ...

elif 'ce' in _names:

# ...

from ce import *

# ...

# We can use the standard Windows path.

import ntpath as path

elif 'riscos' in _names:

# ...

from riscos import *

# ...

import riscospath as path

# ...

else:

raise ImportError, 'no os specific module found'

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值