Доброго времени суток.
d2 = {"id": 1948, "name": "Washer", "size": 3}
with open('file.txt','w') as out:
for key,val in d2.items():
out.write('{}:{}\n'.format(key,val))
d = {}
with open("file.txt") as file:
for line in file:
key, *value = line.split(':')
d[key] = value
print(d)
Вот этот код сохраняет словарь в текстовый файл, а потом достает от туда тот самый словарь.
Все вроде работает, только после извлечения словаря из текстового файла, к значениям в конце прибавляется символ \n. Я новичек в программировании на данном языке, подскажите будьте добры.
Python
Помогите пожалуйста исправить мой код на языке питон
Здравствуйте! Символ \n добавляется потому, что при записи в файл вы используете форматирование строки, в котором добавляется этот символ в конце каждой строки. Для того чтобы избежать этой проблемы, можно использовать метод .strip() для удаления лишних пробелов и символов переноса строки из значений словаря при чтении из файла.
Также, обратите внимание на отступы в вашем коде. Они должны быть одинаковыми внутри блоков кода.
Вот исправленный код:
d2 = {"id": 1948, "name": "Washer", "size": 3}
with open('file.txt', 'w') as out:
for key, val in d2.items():
out.write('{}:{}\n'.format(key, val))
d = {}
with open("file.txt") as file:
for line in file:
key, *value = line.split(':')
d[key] = value[0].strip() # Удаление символов переноса строки и пробелов
print(d)
Также, обратите внимание на отступы в вашем коде. Они должны быть одинаковыми внутри блоков кода.
Вот исправленный код:
d2 = {"id": 1948, "name": "Washer", "size": 3}
with open('file.txt', 'w') as out:
for key, val in d2.items():
out.write('{}:{}\n'.format(key, val))
d = {}
with open("file.txt") as file:
for line in file:
key, *value = line.split(':')
d[key] = value[0].strip() # Удаление символов переноса строки и пробелов
print(d)
d2 = {"id": 1948, "name": "Washer", "size": 3}
with open('file.txt','w') as out:
for key,val in d2.items():
out.write('{}:{}'.format(key,val))
d = {}
with open("file.txt") as file:
for line in file:
key, *value = line.split(':')
d[key] = value
print(d)
Ответ ИИ (Chat GPT): "Конструкция split(':') возвращает список, содержащий ключ и значение словаря, разделенные символом ':'. При этом значение сохраняется в виде строки, которая может содержать символ переноса строки (\n) в конце. Чтобы избежать сохранения этого символа в словарь, необходимо удалить его из значения.
Вот исправленный код:
python
Copy code
d2 = {"id": 1948, "name": "Washer", "size": 3}
with open('file.txt', 'w') as out:
for key, val in d2.items():
out.write('{}:{}\n'.format(key, val))
d = {}
with open("file.txt") as file:
for line in file:
key, value = line.strip().split(':')
d[key] = value
print(d)
В строке key, value = line.strip().split(':') добавлен вызов метода strip(), который удаляет символы переноса строки и пробелы в начале и конце строки. Теперь переменная value не будет содержать символ \n."
Вот исправленный код:
python
Copy code
d2 = {"id": 1948, "name": "Washer", "size": 3}
with open('file.txt', 'w') as out:
for key, val in d2.items():
out.write('{}:{}\n'.format(key, val))
d = {}
with open("file.txt") as file:
for line in file:
key, value = line.strip().split(':')
d[key] = value
print(d)
В строке key, value = line.strip().split(':') добавлен вызов метода strip(), который удаляет символы переноса строки и пробелы в начале и конце строки. Теперь переменная value не будет содержать символ \n."
Похожие вопросы
- Помогите пожалуйста соединить два кода в один,очень долго пытался,но всё равно не совсем правильно получается
- Помогите, пожалуйста, с задачей по информатике в питоне.
- Помогите пожалуйста написать полный код!!!
- Помогите пожалуйста переделать код на Питоне
- Решить две задачи на питоне. Помогите пожалуйста
- Добрый день, помогите, пожалуйста, написать код к задаче на питоне
- ЛЮДИ ПОМОГИТЕ У МЕНЯ ЭТОТ КОД НЕ РАБОТАЕТ НУЖНА ПОМОЩЬ ПИТОН ЗАВТРА СДАТЬ НАДО
- Информатика дз на языке питон, помогите пж
- Я в отчаяние ,буду очень благодарна,если сможете написать на языке питона ?
- Помогите пожалуйста с питоном(arcade)
Теперь взялся за питон