Форум сайта python.su
0
Здравствуйте. Нужно сделать текстовый файл чтобы в каждой строке стояла цифра. Код примерно такой:
out=open('resultpyt.txt')
x=1
while x<11:
out.write (x)
x+1
out.close()
Вопрос такой: призапуске консоль ругается что не существует файла или папки resultpyt.txt (файл сам создал). В каком месте и в каком виде указывается путь к нему?
p.s. поиск смотрел тщательно и книги читал, но уровень моего кунфу настолько низок, что мне не понять. Всем заранее спасибо.
Офлайн
0
import sys
a = ['путь к твоему файлу' ,]
sys.path+=a
Отредактировано (Фев. 18, 2010 16:15:11)
Офлайн
32
у тя флаг ‘w’ не стоит в open
open('resultpyt.txt','w').writelines([str(x)+'\n' for x in xrange(10)])Офлайн
32
и приложение повиснет т.к. у тя цикл бесконечный, х+1 возвращает 2, но не увеличивает х, нужно так: х += 1
Офлайн
0
Повышайте уровень кунг-фу: файл можно открыть в разных режимах (в книжках об этом обычно пишут). В вашем случае надо открыь файл “на запись” (модификатор “w”) + “текстовый режим” (модификатор “t”). Т.е. писать:
out = open('resultpyt.txt','wt')
Эта запись создаст (перезапишет) файл, после можно в него писать (но нельзя читать).
Замечание: чтобы в каждой строке по одному числу следует писать:
out.write(str(x) + ‘\n’)
Преобразовываем х в строку (“str(x)”) и указываем переход на новую строку (“\n”).
ЗЫ. Потрудитесь побольше книжек читать и не тратить зря время других людей (они могут быть не такими добрыми как я:))
Офлайн
0
а вы вопрос ТСа вообще прочитали?
Zayaz
призапуске консоль ругается что не существует файла или папки resultpyt.txt (файл сам создал). В каком месте и в каком виде указывается путь к нему?
Офлайн
1
А он неправильный вопрос задал. Ему же не “шашечки а ехать” надо.
Офлайн
0
Всем большое спасибо за развернутые ответы. Особое - dartNNN. 2Ferroman: Вопрос действительно был задан неправильный, но думаю, что через пол-годика это пройдет…). Отдельное спасибо тем, кто удержал себя от того, чтобы написать - “юзай поиск”, “читай книги” и т.д.
Офлайн
0
В итоге рабочий код такой:
out=open(r'C:\pyt\resultpyt.txt',“w”)
x=780000
while x<1000000:
out.write(str(x)+'\n')
x+=1
out.close()
Может кому-то пригодится… (Python2.6)
Офлайн
32
Zayazне используй while, это тебе не С++ :)
В итоге рабочий код такой:
out=open(r'C:\pyt\resultpyt.txt',"w")
for x in xrange(780000,1000001):
out.write(str(x)+'\n')
out.close()
Отредактировано (Фев. 19, 2010 07:21:26)
Офлайн