Получение Attrbute error _exit_ при использовании ключевого слова "with"
Я прошел .csv
файл для отправки запроса,
input_file = data.get('file', None)
with input_file as datasheet:
header = datasheet.readline()
Всегда получаю ошибку на второй строке. Также мой тип файла Unicode
вот почему он снова дает ошибку в третьей строке readline()
2 ответа
Решение
>>> with "test1.html" as fp:
... header = fp.readline()
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: __exit__
>>>
Как прочитать файл с комментарием:
код:
>>> with open("test1.html") as fp:
... header = fp.readline()
...
Проверьте файл на выход или нет, прежде чем делать какой-либо процесс.
Используйте модуль os
Демо:
>>> os.path.isfile("test1.html")
True
>>> os.path.isfile("nofile.html")
False
>>>
Загрузка файла на сервер по запросу в тестировании API с использованием tastypie
fp = open("C:\sample_datasheet.csv", 'rb')
content = fp.read()
fp.close()
fd ={'file': "C:\sample_datasheet.csv", "content": content}
self.assertHttpOK(self.api_client.post('api of upload', format='json',\
org_id=2, content_type="multipart/form-data",\
data=fd))
и сохранить content
от data
к расположению сервера в представлении.
Учитывая, что {u'file': u'C:\\sample_datasheet.csv'}
возвращается data.get()
Функция, вы должны получить имя файла и открыть его:
data = data.get('file', None)
fname = data["file"]
with open(fname, "r") as datasheet:
header = datasheet.readline()