Преобразование строки в список - PullRequest
0 голосов
/ 21 апреля 2020

Я пытаюсь прочитать записи в файле и преобразовать их в список

with open('myfile1.txt') as f:
    lines = [line.rstrip() for line in f]

print(lines)            ###['10.0.0.1', '10.0.0.2']
print(type(lines))      ###<type 'list'>

catch = (json.dumps(lines))         ###For replacing single quotes to double
print(catch)                        ###["10.0.0.1", "10.0.0.2"]
print(type(catch))                  ###<type 'str'>

catch_1 = list(catch.split("''"))    ###Converting str to list
print(catch_1)                       ###['["10.0.0.1", "10.0.0.2"]']

Есть ли лучший способ заменить кавычки с одинарных на двойные без изменения типа.

File entries :
10.0.0.1
10.0.0.2

Expected Output :
["10.0.0.1", "10.0.0.2"]
 <type 'list'>

Пожалуйста, дайте мне знать, спасибо.

1 Ответ

2 голосов
/ 21 апреля 2020

Строки, окруженные ' или ", абсолютно одинаковы. Нет никакой разницы между ["10.0.0.1", "10.0.0.2"] или ['10.0.0.1', '10.0.0.2'] внутри. Разница только в том, что ты ее печатаешь. Если вы хотите иметь двойные кавычки при печати списка, вы можете сделать это:

a = ['10.0.0.1', '10.0.0.2']
print(str(a).replace("'", '"'))

Это напечатает ["10.0.0.1", "10.0.0.2"].

Чтобы ответить на ваш вопрос " Есть ли лучший способ заменить кавычки с одинарных на двойные без изменения типа? ". Кавычки не существуют внутри вашей программы! Список и строки не имеют понятия кавычки. Они добавляются только при печати списка или при преобразовании списка в строку.

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