Написание короткого списка в текстовом файле - PullRequest
0 голосов
/ 23 января 2020

Я знаю, чтобы написать список в текстовый файл, я могу использовать для l oop до go через него и записать в f, или я могу присоединиться к списку, а затем написать. Но, например, если у меня есть следующий список

list = ["A","B","C","D","E","F"]

, и я хотел бы сохранить его в текстовом файле следующим образом

"A","B","C","D","E","F"

Что будет самым красивым / самым простым / элегантный способ сделать это, пожалуйста?

Ответы [ 3 ]

2 голосов
/ 23 января 2020

Вы можете сделать это без библиотек, как это:

lst = ["A","B","C","D","E","F"]

with open(r"file.txt", 'w') as f:
    f.write('"' + '","'.join(lst) + '"')

Или с json:

import json

lst = ["A","B","C","D","E","F"]

json.dump(lst, "file.txt")

, но записывает ["A","B","C","D","E","F"] в файл (с квадратными скобками).

Также вы можете сделать это:

lst = ["A","B","C","D","E","F"]

with open(r"file.txt", 'w') as f:
    f.write(str(lst))

, но записать ['A','B','C','D','E','F'] в файл (с квадратными скобками). Если вы хотите это без скобок, сделайте f.write(str(lst)[1:-1]), чтобы отрезать скобки.

0 голосов
/ 23 января 2020

Вы можете использовать объединение

s= ["A","B","C","D","E","F"]

listToStr = ','.join(["\""+ str(elem)+"\"" for elem in s]) 

print(listToStr) 

Для записи в файл

with open("out.txt", "w") as fp:
    fp.write(listToStr)
0 голосов
/ 23 января 2020

если у вас python 3.6 или выше, вы можете использовать f-строки

L = ["A","B","C","D","E","F"]
list_string = ",".join(f'"{i}"' for i in L)

with open("example.txt", "w") as fp:
    fp.write(list_string)

example.txt содержит:

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