Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 21, 2010 15:45:20

Phoen
От:
Зарегистрирован: 2010-04-21
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Значение переменной в записываемой строке

Собственно вопрос в следующем:

Имеем скрипт, нечто вроде

# -*- coding: utf-8 -*-
a = open('/blablabla/file1.test', ‘w’)
a.write('некоторая строка')
a.close


Необходимо что б в определенном месте этой “некоторой строки” приходило значение переменной полученное из raw_input() и записывалось уже вместе с этим значением в файл. Т.е нечто вроде такого:


# -*- coding: utf-8 -*-
znach = raw_input()
a = open('/blablabla/file1.test', ‘w’)
a.write('некоторая znach строка')
a.close

Вот собственно вопрос: как правильно добавить эту переменную в записываемую строку? Уже что только не пробовал, всегда synax error



Офлайн

#2 Апрель 21, 2010 15:47:36

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Значение переменной в записываемой строке

...
a.write('некоторая %s строка' % znach)
...



Офлайн

#3 Апрель 21, 2010 19:19:44

TheVampire
От:
Зарегистрирован: 2010-04-07
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Значение переменной в записываемой строке

...
a.write('некоторая ' + str(znach) + ' строка')
...



Офлайн

#4 Апрель 21, 2010 20:04:11

Phoen
От:
Зарегистрирован: 2010-04-21
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Значение переменной в записываемой строке

regall
...
a.write('некоторая %s строка' % znach)
...
Спасибо, помогло! =) Тогда сразу ещё один не очевидный для меня момент: как записать некоторую строку в конец файла (без полной перезаписи файла)?

fixed, нашёл, вопрос снимается: идентификатор “a”



Отредактировано (Апрель 21, 2010 20:27:58)

Офлайн

#5 Апрель 22, 2010 05:38:02

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Значение переменной в записываемой строке

TheVampire
...
a.write('некоторая ' + str(znach) + ' строка')
...
Не учите людей плохому!



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#6 Апрель 22, 2010 10:31:25

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Значение переменной в записываемой строке

PooH
Не учите людей плохому!
+1



Офлайн

#7 Апрель 22, 2010 11:11:11

Kogrom
От:
Зарегистрирован: 2009-12-03
Сообщения: 160
Репутация: +  0  -
Профиль   Отправить e-mail  

Значение переменной в записываемой строке

PooH
Не учите людей плохому!
В этом примере без пояснения не очевидно, так как второй совет более читаемый в данном случае. Однако, его минус в том, что он не гибкий. Например, если надо перевести текст на другой язык, то даже в этом примере придётся переводить 2 строки вместо одной.

Может ещё кто примеры вспомнит. А просто говорить “это плохо” тоже плохо :)



Офлайн

#8 Апрель 22, 2010 11:18:43

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Значение переменной в записываемой строке

Kogrom
А просто говорить “это плохо” тоже плохо
znach = raw_input()
znach.join(['некоторая ', ' строка'])
Это я к тому что “There should be one– and preferably only one –obvious way to do it.”



Офлайн

#9 Апрель 22, 2010 11:43:45

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Значение переменной в записываемой строке

lorien
Это извращение. Философия питон в простоте. “foo %s bar” % value проще и понятнее, чем value.join(('foo ‘, ’ bar'))
К чему я, собственно, и веду …



Отредактировано (Апрель 22, 2010 11:44:00)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version