Найти - Пользователи
Полная версия: Странности при чтении с файла
Начало » Python для новичков » Странности при чтении с файла
1
Kovit
Привет ребяты.
Начал изучать python. Пишу под линукс скриптик и столкнулся с проблемкой. Что читает из файла не то.
К примеру записал туда он число 100. Я потом вручную исправляю его на 90. Запускаю скрипт, а он при считывании в переменную записывает 100 вместо 90.

stroka='0';
first=False;
if os.path.isfile(temppath+'/dev'+options.host) == True :
f=open(temppath+'/'+options.host,'r');
stroka=f.readline();
f.close;
else: first=True;


Вставляю после строчки stroka=f.readline(); ->print stroka; Выдет старое значение (100). Почему?

Вот так делаю запись в файл.

f=open(temppath+'/dev'+options.host,'w');
f.write(strin);
f.close;
Jenyay
А ты точно тот файл исправляешь? А то я смотрю при чтении открывается файл temppath+'/'+options.host, а при записи temppath+'/dev'+options.host.

И еще в качестве оффтопика: точки с запятой в питоне не ставят.
Kovit
Бинго. невнимательность погубила.
Думал может что с if намудрил или чего еще, а то после pascal подругому немножко.
Спасибо за помощь.
sp3
Да и метод f.close не вызывается.
Jenyay
Кстати, да, скобок не хватает. А еще это можно переписать как

with open (os.path.join (temppath, "dev", options.host)) as fp:
stroka=f.readline()
Тогда можно не заботиться о закрытии файла.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB