2016-04-06 27 views
0

私は2つの別々のディレクトリに2つのファイルを持っています。 directory1のファイルは常に_config.txtで終わります。 directory2のファイルは常に_other.txtで終わります。従って、例えばABC_config.txtdirectory1であり、ABC_other.txtdirectory2である。 _マークの直前に文字列を抽出する方法はありますか。"ABC"file1file2であるかどうかを確認する必要はなく、両方の名前を比較して比較することができますか? 以下の関数は、_マークの前に同じ内容の両方のファイルを比較します。あなたは、そのパスからファイル名を抽出するためにntpathを使用することができます特定のマークの前に文字列を抽出します

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 

答えて

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

>>> import ntpath 
>>> ntpath.basename("/home/user/file.txt") 
1

str.split()を使用してください。

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

これは出力に ABC

を与えるだろう
関連する問題