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