Найти - Пользователи
Полная версия: Как записать результат в текстовый файл?
Начало » Python для новичков » Как записать результат в текстовый файл?
1 2 3
Zayaz
Здравствуйте. Нужно сделать текстовый файл чтобы в каждой строке стояла цифра. Код примерно такой:

out=open('resultpyt.txt')
x=1
while x<11:
out.write (x)
x+1
out.close()

Вопрос такой: призапуске консоль ругается что не существует файла или папки resultpyt.txt (файл сам создал). В каком месте и в каком виде указывается путь к нему?
p.s. поиск смотрел тщательно и книги читал, но уровень моего кунфу настолько низок, что мне не понять. Всем заранее спасибо.
bkk
import sys
a = ['путь к твоему файлу' ,]
sys.path+=a
но если он лежит там же где и программа то должен находиться автоматом
o7412369815963
у тя флаг ‘w’ не стоит в open
open('resultpyt.txt','w').writelines([str(x)+'\n' for x in xrange(10)])
читай кунфу больше, т.к. это есть и на форуме и в документации
o7412369815963
и приложение повиснет т.к. у тя цикл бесконечный, х+1 возвращает 2, но не увеличивает х, нужно так: х += 1
dartNNN
Повышайте уровень кунг-фу: файл можно открыть в разных режимах (в книжках об этом обычно пишут). В вашем случае надо открыь файл “на запись” (модификатор “w”) + “текстовый режим” (модификатор “t”). Т.е. писать:
out = open('resultpyt.txt','wt')
Эта запись создаст (перезапишет) файл, после можно в него писать (но нельзя читать).
Замечание: чтобы в каждой строке по одному числу следует писать:
out.write(str(x) + ‘\n’)
Преобразовываем х в строку (“str(x)”) и указываем переход на новую строку (“\n”).
ЗЫ. Потрудитесь побольше книжек читать и не тратить зря время других людей (они могут быть не такими добрыми как я:))
bkk
а вы вопрос ТСа вообще прочитали?
Zayaz
призапуске консоль ругается что не существует файла или папки resultpyt.txt (файл сам создал). В каком месте и в каком виде указывается путь к нему?
Ferroman
А он неправильный вопрос задал. Ему же не “шашечки а ехать” надо.
Zayaz
Всем большое спасибо за развернутые ответы. Особое - dartNNN. 2Ferroman: Вопрос действительно был задан неправильный, но думаю, что через пол-годика это пройдет…). Отдельное спасибо тем, кто удержал себя от того, чтобы написать - “юзай поиск”, “читай книги” и т.д.
Zayaz
В итоге рабочий код такой:

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
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 раз быстрее будет
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