2014-02-20 2 views
0

У меня есть следующая проблема с моим скриптом Python. У меня есть список, который содержит кучу лат длинных координат, как так ...Добавление целых элементов списка в файл

l = [('-12.3790,45.2880',), ('-11.4660,43.8350',), ('-10.2810,42.1890',), ('-9.0860,40.7450',), ('-7.8840,39.4580',), ('-6.6660,38.3070',), ('-5.4330,37.2710',)] 

, и я хочу, чтобы написать этот список в файл, так что данные выглядит в текстовом файле:

l = [('-12.3790,45.2880'), ('-11.4660,43.8350'), ('-10.2810,42.1890'), ('-9.0860,40.7450'), ('-7.8840,39.4580'), ('-6.6660,38.3070'), ('-5.4330,37.2710')] 

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

Когда я делаю:

with open('file.txt', 'a') as f: 
    f.write(l[:]) 

Это не работает

+1

Вы пишете * кортежи *, каждый с одним элементом. Зачем вам все равно писать ваши данные в файл? Создание копии здесь для записи бессмысленно, кстати, вызов 'f.write()' не будет изменять список, поэтому 'f.write (l)' будет делать то же самое. –

+1

Возможно, вы хотели написать '[('-12.3790', '45 .2880 '), ...]' вместо этого? Каждый элемент представляет собой набор двух * отдельных * значений для долготы и широты? –

+5

Я бы все еще не просто написал список в файл; Например, я бы использовал формат, который легче разбирался, например, JSON. –

ответ

1

Предполагая, что вы на самом деле хотите, чтобы выходной формат в вашем вопросе, это будет сделать это:

"l = [" + ", ".join(["('" + t[0] + "')" for t in l]) + "]" 
+0

Часть 'l =' может быть отброшена, судя по тому, как OP писал список раньше. –

+0

Это сработало !!!! Спасибо вам, ребята! – squid22

+0

Рад помочь =) –

Смежные вопросы