我试图在字符串中找到一个子字符串,但我没有达到我想要的结果。
我有几个包含不同目录方向的字符串:
'/Users/mymac/Desktop/test_python/result_files_Sample_8_11/logs',
'/Users/mymac/Desktop/test_python/result_files_Sample_8_1/logs',
'/Users/mymac/Desktop/test_python/result_files_Sample_8_9/logs'
以下是我的代码部分,我试图找到与子字符串的完全匹配:
for name in sample_names:
if (dire.find(name)!=-1):
for files in os.walk(dire):
for file in files:
list_files=[]
list_files.append(file)
file_dict[name]=list_files
除了在包含目录的字符串中查找Sample_8_1时,一切正常,if条件也接受名称Sample_8_11。我怎样才能使它完全匹配以防止多次进入同一目录?
答案 0 :(得分:2)
您可以尝试搜索sample_8_1/
(即包含以下斜杠)。我猜你的代码是dire.find(name+'/')
。这只是一种快速而肮脏的方法。
答案 1 :(得分:1)
假设dire
填充了绝对路径名
for name in sample_names:
if name in dire:
...
e.g。
samples = ['/home/msvalkon/work/tmp_1',
'/home/msvalkon/work/tmp_11']
dirs = ['/home/msvalkon/work/tmp_11']
for name in samples:
if name in dirs:
print "Entry %s matches" % name
Entry /home/msvalkon/work/tmp_11 matches