ディレクトリパスのif文を記述しようとしています。 例えば、Python - ディレクトリパスの特定の位置に名前が表示される場合
names = "Mary", "Joe", "John"
path = "C:/a/b/c/d/e"
名の場合は、特に位置dに現れ、その後、STHを行います。 私は使用できる構文は何ですか? おかげであなたが行うことができます
ディレクトリパスのif文を記述しようとしています。 例えば、Python - ディレクトリパスの特定の位置に名前が表示される場合
names = "Mary", "Joe", "John"
path = "C:/a/b/c/d/e"
名の場合は、特に位置dに現れ、その後、STHを行います。 私は使用できる構文は何ですか? おかげであなたが行うことができます
:
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']
を角度が良いビットです、それは述語ではなく、あるべきリスト...あなたが編集して関数がブール値を返すなら、私は投票するつもりです。なぜなら、ifステートメントでそれを使用したいからです –