Форум сайта python.su
Подскажите, что не так в этом коде?
Он должен открывать файл, запоминать его содержимое, и потом добавлять к его содержимому текст “. Это новый текст файла” и сохранять файл. Я только первый день изучаю питон, так что прошу сильно не пинать))
f = open('data.txt')
text = f.read()
print('Содержимое файла \n'+text)
print('\n———————————-\n')
f = open('data.txt','w')
f.write(text+'. Это новый текст файла')
#close()
print(text)
print('\n\n\n\n\n///////\n\nСодержимое файла\n\n')
print(open('data.txt').read())
Офлайн
Версия питона 3.2
Офлайн
перед открытием на запись надо было закрыть файл открытый на чтение
1 используйте разные файлы
2 сильно помогает конструкция:
with open("a","r") as f:
text=f.read()
Офлайн
doza_andТеперь сделал так:
перед открытием на запись надо было закрыть файл открытый на чтение
1 используйте разные файлы
2 сильно помогает конструкция:она автоматически закроет файл.with open("a","r") as f:
text=f.read()
Файл можно было открыть в режиме “r+”
тогда f.seek(0) и пишите без закрывания
Офлайн
А у меня все работает
f=open('data.txt')
text = f.read()
print('Содержимое файла \n'+text)
print('\n----------------------------------\n')
f.close()
f = open('data.txt','w')
f.write(text+'. Это новый текст файла')
#close()
print(text)
print('\n\n\n\n\n///////\n\nСодержимое файла\n\n')
f.close()
print(open('data.txt').read())
with open("data.txt","r+") as f:
txt=f.read()
f.seek(0)
f.write(txt+"------------")
Офлайн
да для вашей задачи наверное еще лучше
open("data.txt","a").write("asdasd")
Отредактировано (Авг. 14, 2011 08:28:33)
Офлайн
doza_andВсё, я какбэ закрывал, но не так)) Я думал, что close() это и есть закрытие файла) А оказалось, что это f.close() :)
А у меня все работаетнаписал ведь: файл закрывайте чтобы сменить режим чтение <-> записьf=open('data.txt')
text = f.read()
print('Содержимое файла \n'+text)
print('\n----------------------------------\n')
f.close()
f = open('data.txt','w')
f.write(text+'. Это новый текст файла')
#close()
print(text)
print('\n\n\n\n\n///////\n\nСодержимое файла\n\n')
f.close()
print(open('data.txt').read())
или так:постарайтейсь писать так - чтобы не требовалось следить за файлами коннекшенами и т.д. Чтобы в коде принципиально не могло быть ошибки :).with open("data.txt","r+") as f:
txt=f.read()
f.seek(0)
f.write(txt+"------------")
Офлайн
При открытии файла
op = open('txt.txt','r+')
op - дескриптор файла, с ним и проделываются непосредственно операции: чтения,запись,закрытия.
Офлайн
iBiZoNiXДа это я уже понял) (ждал тебя в аське пол дня, а ты не появился(( вот и написал сюда)
При открытии файла
op = open('txt.txt','r+')
op - дескриптор файла, с ним и проделываются непосредственно операции: чтения,запись,закрытия.
Офлайн
Кстати, чтобы не создавать подобных тем, хотелось бы ещё несколько вопросов задать, связанных с операциями над файлами.
К примеру, как можно создать файл на диске C (т.е. прямо в корне), если такое возможно, конечно..
Как можно удалить, переименовать файл, создать или удалить нужную папку?
Офлайн