Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 4, 2009 14:47:16

UsCr
От:
Зарегистрирован: 2009-11-04
Сообщения: 216
Репутация: +  0  -
Профиль   Отправить e-mail  

Разбить текстовый файл на n кусков по m байт.

Существует потребность иметь возможность “скормить” скрипту текстовый файл и получить несколько файлов, содержащих первые, например 100 кб текста из исходного файла, далее следующие 100 кб и т.д. до победного.
Поиском по форуму ничего адекватного найти не удалось. Пробовал сумашедшие конструкции с копированием строк из первого файла во второй с постоянной проверкой второго файла, но во-первых ничего не получись, а во-вторых у меня из глаз пошла кровь и я немедленно уничтожил следы преступления. Гугль и бумажная литература тоже ничего мне не дали. Что подскажете?



Отредактировано (Дек. 4, 2009 14:48:33)

Офлайн

#2 Дек. 4, 2009 16:40:57

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Разбить текстовый файл на n кусков по m байт.

Учить питон.
Задача проста как табурет.

Намёк - file.read()

Офлайн

#3 Дек. 4, 2009 17:06:59

UsCr
От:
Зарегистрирован: 2009-11-04
Сообщения: 216
Репутация: +  0  -
Профиль   Отправить e-mail  

Разбить текстовый файл на n кусков по m байт.

Fuck…



Офлайн

#4 Дек. 4, 2009 18:45:56

pochechyev
От:
Зарегистрирован: 2008-02-29
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

Разбить текстовый файл на n кусков по m байт.

#!/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 байт.
дальше разбирайся сам :)



Офлайн

#5 Дек. 4, 2009 19:36:04

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Разбить текстовый файл на n кусков по m байт.

Не делай так, а то вообще разленятся.

Офлайн

#6 Дек. 5, 2009 14:35:32

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Разбить текстовый файл на n кусков по m байт.

Люди все еще пытаются найти волшебные команды, которые делают то что нужно….
podelit_fail_po_100_kb(FILENAME)
sozdat_sait_s_forumom(SITENAME)
….



Офлайн

#7 Дек. 5, 2009 18:29:40

Zubchick
От:
Зарегистрирован: 2009-07-08
Сообщения: 613
Репутация: +  0  -
Профиль   Отправить e-mail  

Разбить текстовый файл на n кусков по m байт.

ubit_chelovekov(n)



Офлайн

#8 Дек. 6, 2009 20:42:13

UsCr
От:
Зарегистрирован: 2009-11-04
Сообщения: 216
Репутация: +  0  -
Профиль   Отправить e-mail  

Разбить текстовый файл на n кусков по m байт.

Кстати, file.read(n) читает n строк, а не n байт.



Офлайн

#9 Дек. 6, 2009 20:59:33

Zubchick
От:
Зарегистрирован: 2009-07-08
Сообщения: 613
Репутация: +  0  -
Профиль   Отправить e-mail  

Разбить текстовый файл на n кусков по m байт.

# чтение бинарного файла
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



Отредактировано (Дек. 6, 2009 21:00:21)

Офлайн

#10 Дек. 6, 2009 21:21:58

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Разбить текстовый файл на n кусков по m байт.

UsCr
Кстати, file.read(n) читает n строк, а не n байт.
Иногда лучше жевать, чем говорить.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version