468,251 Members | 1,391 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,251 developers. It's quick & easy.

Text files read multiple files into single file, and then recreate the multiple files

Hiya,

The title says it all really, but im a newbie to python sort of. I can
read in files and write files no probs.

But what I want to do is read in a couple of files and output them to
one single file, but then be able to take this one single file and
recreate the files I put into it.

Im really at a loss as to how I go about recovering the files?
obviously if i scan for a string that specifys the start and end of
each file, theres the chance that the file might contain this term to
which would split the files into unwanted chucks of file, which wouldnt
be wanted.

Any ideas? code snippets?

Im very grateful!

Jul 18 '05 #1
4 2801
go*************@hotmail.com wrote:
Hiya,

The title says it all really, but im a newbie to python sort of. I can
read in files and write files no probs.

But what I want to do is read in a couple of files and output them to
one single file, but then be able to take this one single file and
recreate the files I put into it.
A ZIP archive perhaps?
See the zipfile module.

Im really at a loss as to how I go about recovering the files?
obviously if i scan for a string that specifys the start and end of
each file, theres the chance that the file might contain this term to
which would split the files into unwanted chucks of file, which wouldnt
be wanted.


ZIP archives are binary compressed files. Is this okay or do
you require the file to be a text file?

--Irmen
Jul 18 '05 #2
Would like to use text files, its really for my own learning,

but I suppose a Zip would work

cheers

Jul 18 '05 #3
go*************@hotmail.com writes:
Would like to use text files, its really for my own learning,

but I suppose a Zip would work


How about outputing a file as:

LENGTH=######
<file-contents>

in your joined file? That's a minimalistic archive format - one ASCII
header line that provides just enough information to extract the
file. Be sure to open all files [rw]b, though.

<mike
--
Mike Meyer <mw*@mired.org> http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
Jul 18 '05 #4
go*************@hotmail.com wrote:
Hiya,

The title says it all really, but im a newbie to python sort of. I can read in files and write files no probs.

But what I want to do is read in a couple of files and output them to
one single file, but then be able to take this one single file and
recreate the files I put into it.

Im really at a loss as to how I go about recovering the files?
obviously if i scan for a string that specifys the start and end of
each file, theres the chance that the file might contain this term to
which would split the files into unwanted chucks of file, which wouldnt be wanted.

Any ideas? code snippets?

Im very grateful!

Ok, for the seperating of the records you could something like this.
This function returns a generator that can iterate thru your records.
Py> #Single file multi-record seperator
.... def recordbreaker(record, seperator='#NextRecord#'):
.... seplen = len(seperator)
.... rec = open(record ,'rb')
.... a =[]
.... for line in rec:
.... sep = line.find(seperator)
.... if sep != -1:
.... a.append(line[:sep])
.... out = ''.join(a)
.... a =[]
.... a.append(line[sep+seplen:].lstrip())
.... yield out
.... else:
.... a.append(line)
.... if a:
.... yield ''.join(a)
.... rec.close()
....
Py> # to use it directly
Py> records = recordbreaker('myrecords.txt')
Py> first_record = records.next()
Py> second_record = records.next()
Py> # or you can do this
Py> for record in records:
Py> print record

Getting them in a single file is easy, and will be an excercise left to
the reader.
The fileinput module is your friend it is in the standard library.
Be sure to check it out if you haven't already.
hth,
M.E.Farmer

Jul 18 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

7 posts views Thread by jsale | last post: by
12 posts views Thread by Adam J. Schaff | last post: by
6 posts views Thread by Kevin Chambers | last post: by
10 posts views Thread by joelagnel | last post: by
6 posts views Thread by arne.muller | last post: by
9 posts views Thread by andy.z | last post: by
1 post views Thread by Xah Lee | last post: by
6 posts views Thread by John Salerno | last post: by
reply views Thread by NPC403 | last post: by
reply views Thread by zattat | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.