Вы ошибочно принимаете строковое содержимое в виде строкового представления и путаетесь в нем.
Строки, как данные в Python, затем становятся строками юникода или байтовыми строками в Python 2 просматриваются с окружающими '
кавычками всякий раз, когда вы смотрите на их представление.
Методы и функции, предназначенные для представления содержимого строки конечному пользователю (включая запись затем в файл), действительно показывают, что содержимое безокружающие цитаты.
В Python 2 для просмотра содержимого строки в консоли вы используете оператор print
.
Код, который помещает кавычки в ваш выходной файл ".dat", здесь не представлен - именно этот код помещает туда строку.Если бы вы записывали необработанный файл самостоятельно, просто позвонив по номеру myfile.write(messageid)
, вы могли бы написать его без кавычек.Я склонен думать, что вы используете какой-то сторонний код для написания вашего файла данных, передавая ваши данные в виде словаря - этот код включает в себя кавычки на выходе.
Единственный способ получить эти кавычки, если бы вы вызывали file.write напрямую, это либо если вы записали repr
ваших данных, как в: myfile.write(repr(messageid))
, либо если этот messageid находится внутриlist или Python dictionay, и вы записываете строковое представление этой структуры данных в свой файл - как в file.write(str(my_dict_with_data))
И, более того, у этого могут быть причины..dat
является универсальным расширением для данных и не имеет реальных спецификаций - во многих случаях желательно использовать кавычки вокруг таких данных (например, в файлах JSON).