Python - 如果名称显示在目录路径中的特定位置

Python - 如果名称显示在目录路径中的特定位置

问题描述:

我正在尝试为目录路径编写if语句。 例如,Python - 如果名称显示在目录路径中的特定位置

names = "Mary", "Joe", "John" 
path = "C:/a/b/c/d/e" 

如果名称在具体位置d显示了,然后做某事 我可以使用什么语法? 感谢

你可以这样做:

if path.split("/")[4] in names: 

,您可以尝试这样的:

names = "Mary", "Joe", "John" 
path = "C:/a/b/c/John/e" 
print(path.split("/")[4] in names) 

从你的榜样暗示一个不同的角度看:如果你正在寻找检测用户,那么您可以使用os模块:

import os 
N = ['Mary','John','Foo'] 
U = os.path.expanduser('~') 

print([NAME for NAME in N if(NAME in U)]) 
>>> Mary 

也就是说,当然,假设你正在寻找用户主目录中的用户名,所以这可能不相关。

如果真的只是一个任意路径,然后让你的目录列表中所需的位置列表检查(从0开始):

import os 
N = ['Mary','John','Foo'] 
P = ['a','b','c','Mary'] 

print([NAME for NAME in N if(NAME in U[3]) ]) 
>>> ['Mary'] 
+0

的角度好位,它应该是一个谓语,而不是list ...我的意思是,如果你编辑并实现你的函数返回一个布尔值,我会投票,因为我想在if语句中使用它 –