Найти - Пользователи
Полная версия: Разбить текстовый файл на n кусков по m байт.
Начало » Python для новичков » Разбить текстовый файл на n кусков по m байт.
1 2
UsCr
Существует потребность иметь возможность “скормить” скрипту текстовый файл и получить несколько файлов, содержащих первые, например 100 кб текста из исходного файла, далее следующие 100 кб и т.д. до победного.
Поиском по форуму ничего адекватного найти не удалось. Пробовал сумашедшие конструкции с копированием строк из первого файла во второй с постоянной проверкой второго файла, но во-первых ничего не получись, а во-вторых у меня из глаз пошла кровь и я немедленно уничтожил следы преступления. Гугль и бумажная литература тоже ничего мне не дали. Что подскажете?
Ferroman
Учить питон.
Задача проста как табурет.

Намёк - file.read()
UsCr
Fuck…
pochechyev
#!/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
Не делай так, а то вообще разленятся.
igor.kaist
Люди все еще пытаются найти волшебные команды, которые делают то что нужно….
podelit_fail_po_100_kb(FILENAME)
sozdat_sait_s_forumom(SITENAME)
….
Zubchick
ubit_chelovekov(n)
UsCr
Кстати, file.read(n) читает n строк, а не n байт.
Zubchick
# чтение бинарного файла
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
UsCr
Кстати, file.read(n) читает n строк, а не n байт.
Иногда лучше жевать, чем говорить.
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