Форум сайта python.su
Существует потребность иметь возможность “скормить” скрипту текстовый файл и получить несколько файлов, содержащих первые, например 100 кб текста из исходного файла, далее следующие 100 кб и т.д. до победного.
Поиском по форуму ничего адекватного найти не удалось. Пробовал сумашедшие конструкции с копированием строк из первого файла во второй с постоянной проверкой второго файла, но во-первых ничего не получись, а во-вторых у меня из глаз пошла кровь и я немедленно уничтожил следы преступления. Гугль и бумажная литература тоже ничего мне не дали. Что подскажете?
Отредактировано (Дек. 4, 2009 14:48:33)
Офлайн
Учить питон.
Задача проста как табурет.
Намёк - file.read()
Офлайн
Fuck…
Офлайн
#!/usr/bin/python
filename=""
f=open(filename, "r")
counter=0
while 1:
data=f.read(100)
if data=="":
break
nfilename=str(counter)+filename
outf=open(nfilename,"a")
outf.write(data)
outf.close()
counter+=1
Офлайн
Не делай так, а то вообще разленятся.
Офлайн
Люди все еще пытаются найти волшебные команды, которые делают то что нужно….
podelit_fail_po_100_kb(FILENAME)
sozdat_sait_s_forumom(SITENAME)
….
Офлайн
ubit_chelovekov(n)
Офлайн
Кстати, file.read(n) читает n строк, а не n байт.
Офлайн
# чтение бинарного файла
bmp_file = open("C:\WINDOWS\Web\Wallpaper\Безмятежность.bmp", "rb")
buff = bmp_file.read(10) # первые 10 байт
print buff
print bmp_file.tell() # текущая позиция в файле.
bmp_file.seek(0) # возврат в начало файла
print bmp_file.tell()
buff = bmp_file.read(2) # первые 2 байта
print buff
bmp_file.close()
# запись бинарного файла
bmp_file = open("C:\\WINDOWS\\Web\\Wallpaper\\Безмятежность.bmp", "rb")
buff = bmp_file.read()
bmp_file.close()
bmp_file = open("C:\\Temp\\test.bmp", "wb")
bmp_file.write(buff)
bmp_file.close()
Отредактировано (Дек. 6, 2009 21:00:21)
Офлайн
UsCrИногда лучше жевать, чем говорить.
Кстати, file.read(n) читает n строк, а не n байт.
Офлайн