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