Найти - Пользователи
Полная версия: Как записать результат в текстовый файл?
Начало » Python для новичков » Как записать результат в текстовый файл?
1 2 3
Ed
o7412369815963
и работать в 100 раз быстрее будет
Во-первых у вас ошибка в коде. Лишняя строчка пишется в файл.
Во-вторых не в 100 раз, а только немного быстрее. Но в целом я согласен, это не C++ :)

Ну и напоследок вариант еще немного быстрее, но жрущий память.
out=open('result.txt',"w")
out.write('\n'.join([str(x) for x in xrange(780000,1000000)])+'\n')
out.close()
PS: и еще быстрее (больше чем в 2 раза быстрее исходного):
out=open('result.txt',"w")
out.write('\n'.join(map(str, xrange(780000,1000000)))+'\n')
out.close()
Zayaz
Всем просто офигенное спасибо! Благодаря вашим ответам много в чем разобрался…
2o7412369815963 про while в учебнике раньше написано чем for…)

Если у кого-нибудь еще появятся мысли как можно доработать (там поля для ввода замутить или проверку на лицензию с записью в реестр, или еще какие-нибудь фишки), то имейте в виду - по меньшей мере один человек очень внимательно к ним отнесется…

Заранее благодарен!
o7412369815963
Zayaz
2o7412369815963 про while в учебнике раньше написано чем for…)
ясно, я учебники не читал, просто начинаю что-то делать и на ходу разбираюсь.
Divergent
Подскажите как сделать так, чтобы при записи записывалось в одну строку(через пробел или запятую к примеру.), а не переносилось на следующую.
Используемый код:
f1 = open(“in.txt”, “r”)
f2 = open(“out.txt”,“w”)
while 1:
l = f1.readline()
if not l:
break
if “SINGLE” in l:
f2.write(l)
print l+'\n'
f2.close()
f1.close()
Divergent
Заменил f2.write(l+',') - получилось)
bazooka
Divergent
Подскажите как сделать так, чтобы при записи записывалось в одну строку(через пробел или запятую к примеру.), а не переносилось на следующую.
Используемый код:
f1 = open(“in.txt”, “r”)
f2 = open(“out.txt”,“w”)
while 1:
l = f1.readline()
if not l:
break
if “SINGLE” in l:
f2.write(l)
print l+'\n'
f2.close()
f1.close()
with open("in.txt", "r") as f1:
with open("out.txt", "w") as f2:
for l in iter(f1.readline, ''):
if "SINGLE" in l:
f2.write(l)
print l+'\n'
Divergent
bazooka
with open(“in.txt”, “r”) as f1: with open(“out.txt”, “w”) as f2: for l in iter(f1.readline, ‘'): if “SINGLE” in l: f2.write(l) print l+’\n'
хотел записать цифровые последовательности, но не получается как-то.

Пробовал писать при помощи регулярных if "{5}\n" in l:
f2.write(l)
print l+'\n'

И так пробовал if "" in l:
f2.write(l)
print l+'\n'

IndexError: string index out of range

Но ни так ни так не получается.
bazooka
Divergent
if "{5}\n" in l:
регулярки нитак юзаюца http://docs.python.org/library/re.html
Divergent
if "" in l:
а эт ваще че? О_о
Divergent
bazooka
Divergent
if "{5}\n" in l:
регулярки нитак юзаюца http://docs.python.org/library/re.html
Divergent
if "" in l:
а эт ваще че? О_о
Хотел описать , что если 6ой символ один из 1..7 , то…
Divergent
Чуток почитал…

import re
f1 = open("1.txt", "r")
f2 = open("2.txt","w")
while 1:
l = f1.readline()
if not l:
break
if re.search(r"\d{5}[1-7]",l):
f2.write('\n'+l[0:6]+',')
if re.search(r"\d{5}[089]",l):
f2.write('\n'+l[0:6]+',')
f2.close()
f1.close()
вторая часть ничего не дописывает почему-то. подскажите почему.
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