Получение TypeError при попытке записи в файл на Python - PullRequest
4 голосов
/ 13 апреля 2011

Когда я запускаю этот код:

tickers = re.findall(r'Process Name: (\w+)', s)

file = open("C:\Documents and Settings\jppavan\My Documents\My Dropbox\Python Scripts\Processes\GoodProcesses.txt","w")
file.write(tickers)
file.close()

Возвращает общую ошибку:

TypeError: ожидается объект буфера символов

Есть идеи?

1 Ответ

18 голосов
/ 13 апреля 2011

findall (), как указывает имя, возвращает Python список , а не строку / буфер.

Вы не можете записать список в дескриптор файла - как это должно работать?

Что вы ожидаете?

file.write(str(tickers))

для строкового представления списка?

Или

file.write(', '.join(tickers))

для конкатенации через запятуюэлементов списка?

В любом случае ... для записи (..) требуется строка или буфер.

Кроме этого: не называйте свой дескриптор файла 'file'.

file () - встроенный метод.

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