CRAIG DALTON wrote:
Hi,
I'm looking to append several text files in one director and out put the 
combined files into another director. I'm new to Python and just can't get it 
to work. So far I've been able to create a file in the desired directory but it 
isn't pulling any of the data in the originating directory. Could please look 
at my code and tell me what I'm doing wrong.

import os,shutil
f=open("c:\\output\\testing1.txt","a+")
for r,d,fi in os.walk("c:\\test"):
    for files in fi:
if files.endswith(".txt"): g=open(os.path.join(r+,files))
            shutil.copyfileobj(g,f)
            g.close()
f.close()

Any help would be great.

Thanks,
Craig Dalton
Business Applications Systems Analyst
Sentara Healthcare Systems
Information Technology
[EMAIL PROTECTED]



I don't think what you pasted will work at all. The r+ should produce a syntax error on the g=open(os.path.join(r+,files) line.

No real reason to get shutil involved in this.

try something like this (not tested):

outfp=open("c:\\output\\testing1.txt", 'w')
for root,dirs,files in os.walk("c:\\test"):
    for fname in files:
        if fname.endswith(".txt"):
            infp=open(os.path.join(root, fname), 'r')
            of.write(infp.read())
            infp.close()

outfp.close()

or if the files are binary:

use 'wb' and 'rb' instead of 'w' and 'r'

BTW - This will concatenate ALL the .TXT files in c:\test as well as any files in any subfolders into a single output file.

-Larry
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to