cómo escribir una lista en un archivo sin [] en python

Escribo una lista como [1,2,45,6] a un archivo.

next_queue += _follower_ids
nextqueue_file = open("data_queue.txt","w")
nextqueue_file.write(str(next_queue))
nextqueue_file.close

Esto registra la cola en mi programa, si mi programa falla, puedo leer el progreso en el archivo, pero el problema es que la lista en el archivo aparece como:

[1,2,45,6]

con [] en el archivo hace que este proceso sea difícil. ¿Cómo lo escribo como 1,2,45,6 con ningún [].

preguntado el 03 de mayo de 12 a las 08:05

Olvidaste los paréntesis en nextqueue_file.close. significa que eres no llamando el método. El archivo no será cerrado por el comando. -

4 Respuestas

Tratar:

nextqueue_file.write(", ".join(map(str, next_queue)))

contestado el 03 de mayo de 12 a las 08:05

Puede eliminar el espacio después de la coma ya que el OP no usó espacios en su ejemplo. - Jamylak

@jamylak: Bueno, no incluyó espacios en su interpretación de str(next_queue) tampoco, a pesar de que están presentes allí. La pregunta es específicamente acerca de perder el [], que es lo que he hecho. - NPE

nextqueue_file.write(','.join(map(str, next_queue)))

contestado el 03 de mayo de 12 a las 08:05

Se podría utilizar:

with open('data_queue.txt', 'w') as f:
  f.write(','.join(str(x) for x in next_queue))

contestado el 03 de mayo de 12 a las 08:05

Este código ya está escrito para ti, no necesitas reinventar la rueda:

import csv

with open("data_queue.txt", 'w') as f:
   csv.writer(f).writerow(next_queue)

contestado el 03 de mayo de 12 a las 09:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.