Python » Страница 3
-Программирование на Python
Kolod77,
appswitch.kill_app(u'LogServ')
-------------
добавлено в 01.43: Peбят пoмoгитe.Kaк cдeлaть зaпиcь в тxт фaйл?тaк чтoбы зaпиcывaeмaя cтрoкa зaмeнялa yжe cyщecтвyющyю и зaпиcывaлacь в фaйл в oпрeдeлeннyю cтрoкy, и чтoб вce зaпиcывaлocь бeз измeнeния кoдирoвки фaйлa.нaпишитe прocтeнький примeр, сам никак разобраться не могу
DimaTROFIK, вот тебе запись в файл в нужную строку.
Подразумевается, что кодировка файла известна заранее, а строка в юникоде.
А если кодировка не известна, то пораскинь мозгами сам ![]()
Если строка простая и файл в аскии, то упрости функцию.
Для экономии оперативы разбиение на список не используется.
Прикрепленный файл #1: replace_line_in_file_by_virtuos86_in_0701201050534_f.zip ( меньше 1кб)
Вот такой вопрос. В статье уважаемого А.Газетдинова для начинающих изучать питон, там где про функции есть такие строки:
"Нетрудно представить, что результат работы функции, который был сохранен в переменной, может понадобиться для дальнейшей работы, но после завершения функции, как было сказано, эта переменная будет удалена. Для этого случая предназначена команда return, возвращающая указанные переменные. Пример:
>>> def summa(a,b):
… c=a+b
… return c
…
>>> summa(1,2)
3
>>>"
Так вот. Если дальше ввести команду print c, выдаёт ошибку: переменная с не определена (name 'c' is not defined). Определяю её перед функцией , приравниваю допустим к нулю, по команде print c выводит этот же ноль, а не тройку присвоенную внутри функции. С одной стороны всё правильно: ноль в глобальной переменной, тройка в локальной, только как же воспользоваться этой переменной, созданной внутри функции и сохранённая командой return, если он её не видит (not defined) ни до её определения, ни после. И как это объяснить моему другу, начинающему изучать питон по статьям А.Газетдинова?
P.S. Я думал, что может быть дело в консоли, но в TwoTowers тоже самое.
1-ый вариант:
>>> c
3
>>>
2-ой вариант(return не нужен):
>>> c = 0
>>> def summa(a,b):
… global c # указываем, что в функции будет изменяться значение глобальной переменной 'c' вместо создания и изменения значения локальной переменной 'c'
… c = a + b # здесь, благодаря предыдущей строке, изменяется значение глоб. переменной 'c' вместо создания лок. переменной 'c'
…
>>> summa(1,2)
>>> c
3
>>>
--------
Всё-таки Python лучше изучать по Сузи. Там просто более подробно объяснено, так как автор не был скован статьёй как форматом изложения материала.
В статье детально всё объяснить трудно.
- «
- 1
- 2
- 3
- 4
- --
- 974
- 975
- »

