Форум сайта python.su
Есть пробелема:
В текстовом файле нужно в (допустим) 5ю строку дописать два символа.дописать нужно после условия.
Скажите как это можно реализовать?совсем ничего не получается.
спс.)
Офлайн
Покажи, что ты уже написал, и тебе помогут исправить ошибки.
Офлайн
===============
import os, linecache #еще чтото было
for root, dirs, files in os.walk(#Путь к деректории#): #рекурсивно просматриваю папку
for name in files:
if splitext(os.path.join(root,name))==“.vcf”: #проверяю нужный файл
name=open('os.path.join(root,name)', ‘r+’)3 #открываю
line=linecache.getline('/home/adi/Desktop/папкус/Валера.vcf', 5) #топчу в нужную строку
===============
теперь нужно чтобы в это строке после VOICE: добавить +3.
з.ы.=)
Отредактировано (Окт. 4, 2009 19:03:21)
Офлайн
ок.ситуация меняется.=))
ПОДСКАЖИТЕ как в конец файла(т.е. две послдение строки) перезаписать.
Как передвинуть курсор как это делалось в С++ и в паскале (вроде)?
Офлайн
.seek/.tell
Офлайн
Андрей СветловСпасиб. я использую именно 3.1.1 версию. и .seek вроде не работает.вот что нашел.
Офлайн
1)С прошлой моей мессагой фиг с ней. ВОЗНИК ВОПРОС №2.
2).seek
for i in range(10):
if linecache.getline(os.path.join(root, name), i).startswith(“TEL”):
line=linecache.getline(os.path.join(root, name), i).replace(“8”,“”,1)
Ситуация в следущем: Код выше значит что при нахождении строки с началом TEL, находим ту строку что нужно меняем в ней первую 8ку на “нчиего”(кстати работать будет?) и все эти измения нужно записать в файл не изменив никапельки другие строчечки. стоит юзать .seek(а теперь кульминация),как можно задать нужную позицию в байтах(в данном случае) если она(позиция) зависит от условия “if”(выше)
з.ы.дяденьки и тетеньки выручайте!=)
Офлайн