добавляемый список ошибка typeerror элемент последовательности o: ожидаемая строка, список найден - PullRequest
1 голос
/ 25 сентября 2011

это мой код.в основном я думаю, что он должен работать так, как этот self.list делает упорядоченный список self.contents превращает список в строку, поэтому я могу отображать self.list в прокручиваемом окне с помощью self.plbuffer.set_text (self.contents).затем os.walk переходит в каталог, определенный в top, а findall берет то, что я пишу в self.search, находит шаблон в именах файлов, а затем он должен быть добавлен в self.list.

class mplay:
   def search_entry(self, widget):
    self.list = []
    self.contents = "/n".join(self.list)
    self.plbuffer.set_text(self.contents)
    search = self.search.get_text()
    top = '/home/bludiescript/tv-shows'
    for dirpath, dirnames, filenames in os.walk(top):
      for filename in filenames:
        if re.findall(filename, search):
         self.list.append(os.path.join([dirpath, filename]))

что означает эта ошибка, я не могу добавить в self.list с помощью os.path.join

error =   file "./mplay1.py" , line 77 in search_entry 
          self.contents = "/n".join(self.list) line 
          typeerror sequence item o: expecting string, list found 

1 Ответ

1 голос
/ 25 сентября 2011

Список должен быть списком строк для его работы:

"/n".join(["123","123","234"]) # works
"/n".join([123, 123, 234]) #error, this is int

Вы также получаете сообщение об ошибке, если это список списков, что, вероятно, имеет место в вашем:

"/n".join([[123, 123, 234],[123, 123, 234]]) # error

Добавьте печатный список self.list, чтобы увидеть, как он выглядит.

Когда вы говорите, что в других местах он работает нормально, возможно, это связано с тем, что содержимое списка отличается.

Также обратите внимание, что при присоединении к пустому списку [] будет возвращена пустая строка, поэтому эта строка фактически ничего не делает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...