假设有两个目录 A、B,Python 有模块可以直接判断出 A 是否是 B 的子目录吗?如果没有,只能用正则去进行匹配 dirname 吗?求大神解答并且提供好的方法
|
CoXJun 12, 2017
1
os.path.dirname(B) == A
不用正则也可以 |
|
0asisJun 12, 2017
2
A.startswith(B) ?
|
|
aa825aaJun 12, 2017
4
import glob; if glob.glob("B/A"):return True
|
|
binjjamJun 12, 2017
5
|
|
6
|
|
lll9pJun 12, 2017
7
py3.4 以下的可以装 pathlib2
|
|
imn1Jun 12, 2017
8
@binjjam
受 1L 影响搞错方向 In [6]: c="/a/" In [7]: b="/a/b/" In [8]: a="/a/b/c" In [9]: d="/a/c" In [10]: c in a Out[10]: True In [11]: d in a Out[11]: False In [12]: b in a Out[12]: True |
|
imn1Jun 12, 2017
11
顺便提醒 LZ,如果涉及写操作,还要考虑软硬连接
|
|
hlJun 12, 2017
13
判断 A 是否是 B 的子目录
换句话说,如果路径 B/A 存在,则 A 是 B 的子目录 import os IS_SUB_DIR = os.path.isdir(os.path.join('B','A')) if IS_SUB_DIR: print("A is the subdir of B") |
|
zerofinyJun 12, 2017
14
A = '/usr/local/abc'
B = '/usr/local' B == A[:len(B)] |