0

ディレクトリを検索し、特定の番号 (リストで定義) で始まり、「.labels.txt」で終わるすべての項目を抽出するコードを作成しようとしています。これは私がこれまでに持っているものです。

lbldir = '/musc.repo/Data/shared/my_labeled_images/labeled_image_maps/'

picnum = []
for ii in os.listdir(picdir):
   num = ii.rstrip('.png')
   picnum.append(num)

lblpath = []   
for file in os.listdir(lbldir):
   if fnmatch.fnmatch(file, '*.labels.txt') and fnmatch.fnmatch(file, ii in picnum + '.*'):
       lblpath.append(os.path.abspath(file))

ここに私が得るエラーがあります

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-10-a03c65e65a71> in <module>()
  3 lblpath = []
  4 for file in os.listdir(lbldir):
----> 5     if fnmatch.fnmatch(file, '*.labels.txt') and fnmatch.fnmatch(file, ii in picnum + '.*'):
  6         lblpath.append(os.path.abspath(file))

TypeError: can only concatenate list (not "str") to list

picnum 部分の ii が機能しないことはわかっていますが、それを回避する方法がわかりません。これは fnmatch モジュールで実現できますか? それとも正規表現が必要ですか?

4

1 に答える 1