UsCr
Дек. 4, 2009 14:47:16
Существует потребность иметь возможность “скормить” скрипту текстовый файл и получить несколько файлов, содержащих первые, например 100 кб текста из исходного файла, далее следующие 100 кб и т.д. до победного.
Поиском по форуму ничего адекватного найти не удалось. Пробовал сумашедшие конструкции с копированием строк из первого файла во второй с постоянной проверкой второго файла, но во-первых ничего не получись, а во-вторых у меня из глаз пошла кровь и я немедленно уничтожил следы преступления. Гугль и бумажная литература тоже ничего мне не дали. Что подскажете?
Ferroman
Дек. 4, 2009 16:40:57
Учить питон.
Задача проста как табурет.
Намёк - file.read()
UsCr
Дек. 4, 2009 17:06:59
Fuck…
pochechyev
Дек. 4, 2009 18:45:56
#!/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
разбиваем файл file по 100 байт.
дальше разбирайся сам :)
Ferroman
Дек. 4, 2009 19:36:04
Не делай так, а то вообще разленятся.
igor.kaist
Дек. 5, 2009 14:35:32
Люди все еще пытаются найти волшебные команды, которые делают то что нужно….
podelit_fail_po_100_kb(FILENAME)
sozdat_sait_s_forumom(SITENAME)
….
Zubchick
Дек. 5, 2009 18:29:40
ubit_chelovekov(n)
UsCr
Дек. 6, 2009 20:42:13
Кстати, file.read(n) читает n строк, а не n байт.
Zubchick
Дек. 6, 2009 20:59:33
# чтение бинарного файла
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()
http://forum.script-coding.info/viewtopic.php?id=471
Ferroman
Дек. 6, 2009 21:21:58
UsCr
Кстати, file.read(n) читает n строк, а не n байт.
Иногда лучше
жевать, чем говорить.