2016-04-06 17 views
0

İki ayrı dizinde birkaç dosyam var. directory1 dosyaları her zaman _config.txt ile biter. directory2 dosyaları her zaman _other.txt ile biter. Örneğin, ABC_config.txt, directory1'dan ve ABC_other.txt, directory2'dan olacaktır. _ işaretinden hemen önce dizeyi ayıklayabilmem için bir yol var mı? "ABC"'un ve file2 içerip içermediğini görmek için her iki ismi de karşılaştırmalı mıyım? Aşağıdaki işlev, _ işaretinden önce aynı içerikteki iki dosya arasındaki karşılaştırmayı yapar.Belirli bir işaretin önündeki dize çıkarma

def process(directory1, directory2): 
    for file1 in os.listdir(directory1): 
     for file2 in os.listdir(directory2): 
      if ..... 
       file1 = os.path.join(directory1, file1) 
       file2 = os.path.join(directory2, file2) 
       helperProcess(directory1, directory2, file1, file2) #compares two files 

cevap

2
>>> s1 = 'ABC_config.txt' 
>>> s2 = 'ABC_other.txt' 
>>> s1.split('_')[0] == s2.split('_')[0] 
True 

Bunu yolundan dosya adını ayıklamak için ntpath kullanabilirsiniz.

1

str.split()'u kullanın.

filename = 'ABC_config.txt.' 
print filename.split('_')[0] 

Bu çıkış ABC

verecekti
İlgili konular