[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.python

Need Script For read multiple files(.txt) from a folder

jai_python

3/14/2008 4:28:00 AM

hi frenz I Need a Python Script For read multiple files(.txt) from a
folder and write it in a single text file....


Thanks
6 Answers

Chris

3/14/2008 6:25:00 AM

0

On Mar 14, 6:28 am, jai_python <jayapa...@gmail.com> wrote:
> hi frenz I  Need a Python Script For read multiple files(.txt) from a
> folder and write it in a single text file....
>
> Thanks

Take a look at the OS Module for the listdir funtion, you can use it
to build a list of all files in the given folder. Iterate through the
list checking to see if the file is of the correct type and if it is
then append/write it to your single file. Don't forget to flush()
your output otherwise you can easily run into memory issues.

Dennis Lee Bieber

3/14/2008 6:36:00 AM

0

On Thu, 13 Mar 2008 21:28:18 -0700 (PDT), jai_python
<jayapal.d@gmail.com> declaimed the following in comp.lang.python:

> hi frenz I Need a Python Script For read multiple files(.txt) from a
> folder and write it in a single text file....
>
If you are on windows, just open a command prompt and use the
standard copy command...

C:\Documents and Settings\Dennis Lee Bieber>copy /?
Copies one or more files to another location.

COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B]
[+ source [/A | /B] [+ ...]] [destination [/A | /B]]

source Specifies the file or files to be copied.
/A Indicates an ASCII text file.
/B Indicates a binary file.
/D Allow the destination file to be created decrypted
destination Specifies the directory and/or filename for the new
file(s).
/V Verifies that new files are written correctly.
/N Uses short filename, if available, when copying a file
with a
non-8dot3 name.
/Y Suppresses prompting to confirm you want to overwrite an
existing destination file.
/-Y Causes prompting to confirm you want to overwrite an
existing destination file.
/Z Copies networked files in restartable mode.

The switch /Y may be preset in the COPYCMD environment variable. This
may be overridden with /-Y on the command line. Default is to prompt on
overwrites unless COPY command is being executed from within a batch
script.

To append files, specify a single file for destination, but multiple
files for source (using wildcards or file1+file2+file3 format).

C:\Documents and Settings\Dennis Lee Bieber>

Note that last paragraph "To append files"
--
Wulfraed Dennis Lee Bieber KD6MOG
wlfraed@ix.netcom.com wulfraed@bestiaria.com
HTTP://wlfraed.home.netcom.com/
(Bestiaria Support Staff: web-asst@bestiaria.com)
HTTP://www.bestiaria.com/

Chris

3/14/2008 9:14:00 AM

0

On Mar 14, 8:36 am, Dennis Lee Bieber <wlfr...@ix.netcom.com> wrote:
> On Thu, 13 Mar 2008 21:28:18 -0700 (PDT), jai_python
> <jayapa...@gmail.com> declaimed the following in comp.lang.python:
>
> > hi frenz I  Need a Python Script For read multiple files(.txt) from a
> > folder and write it in a single text file....
>
>         If you are on windows, just open a command prompt and use the
> standard copy command...
>
> C:\Documents and Settings\Dennis Lee Bieber>copy /?
> Copies one or more files to another location.
>
> COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B]
>      [+ source [/A | /B] [+ ...]] [destination [/A | /B]]
>
>   source       Specifies the file or files to be copied.
>   /A           Indicates an ASCII text file.
>   /B           Indicates a binary file.
>   /D           Allow the destination file to be created decrypted
>   destination  Specifies the directory and/or filename for the new
> file(s).
>   /V           Verifies that new files are written correctly.
>   /N           Uses short filename, if available, when copying a file
> with a
>                non-8dot3 name.
>   /Y           Suppresses prompting to confirm you want to overwrite an
>                existing destination file.
>   /-Y          Causes prompting to confirm you want to overwrite an
>                existing destination file.
>   /Z           Copies networked files in restartable mode.
>
> The switch /Y may be preset in the COPYCMD environment variable. This
> may be overridden with /-Y on the command line.  Default is to prompt on
> overwrites unless COPY command is being executed from within a batch
> script.
>
> To append files, specify a single file for destination, but multiple
> files for source (using wildcards or file1+file2+file3 format).
>
> C:\Documents and Settings\Dennis Lee Bieber>
>
>         Note that last paragraph "To append files"
> --
>         Wulfraed        Dennis Lee Bieber               KD6MOG
>         wlfr...@ix.netcom.com             wulfr...@bestiaria.com
>                 HTTP://wlfraed.home.netcom.com/
>         (Bestiaria Support Staff:               web-a...@bestiaria.com)
>                 HTTP://www.bestiaria.com/

If you want to go that route you could also do: type *.txt >
output_file.txt

martin.laloux

3/14/2008 9:30:00 AM

0

use the glob module

import os, glob
dor = the path you want
for dir, subdir, files in os.walk(dor):
for file in files:
if glob.fnmatch.fnmatch(file,"*.txt"):
do what you want

Jeff Schwab

3/14/2008 4:46:00 PM

0

Chris wrote:
> On Mar 14, 8:36 am, Dennis Lee Bieber <wlfr...@ix.netcom.com> wrote:
>> On Thu, 13 Mar 2008 21:28:18 -0700 (PDT), jai_python
>> <jayapa...@gmail.com> declaimed the following in comp.lang.python:
>>
>>> hi frenz I Need a Python Script For read multiple files(.txt) from a
>>> folder and write it in a single text file....
>> If you are on windows, just open a command prompt and use the
>> standard copy command...
>>
>> C:\Documents and Settings\Dennis Lee Bieber>copy /?
....
> If you want to go that route you could also do: type *.txt >
> output_file.txt

On Unix, cygwin, etc:

cat dir/*.txt > output.txt

Or if you need "deep" copy:

cat $(find dir -name '*.txt') > output.txt

You could write a portable solution in Python (as in Martin Laloux's
post), but most modern command-line environments have similar (but not
identical) support for globbing and redirecting files. If you're
getting the glob pattern from a user, they may expect subtly
platform-dependent behaviors, in which case portability might not as
important as native feel.

jai_python

3/15/2008 4:27:00 AM

0

On Mar 14, 9:45 pm, Jeff Schwab <j...@schwabcenter.com> wrote:
> Chris wrote:
> > On Mar 14, 8:36 am, Dennis Lee Bieber <wlfr...@ix.netcom.com> wrote:
> >> On Thu, 13 Mar 2008 21:28:18 -0700 (PDT), jai_python
> >> <jayapa...@gmail.com> declaimed the following in comp.lang.python:
>
> >>> hi frenz I Need a Python Script For read multiple files(.txt) from a
> >>> folder and write it in a single text file....
> >> If you are on windows, just open a command prompt and use the
> >> standard copy command...
>
> >> C:\Documents and Settings\Dennis Lee Bieber>copy /?
> ...
> > If you want to go that route you could also do: type *.txt >
> > output_file.txt
>
> On Unix, cygwin, etc:
>
> cat dir/*.txt > output.txt
>
> Or if you need "deep" copy:
>
> cat $(find dir -name '*.txt') > output.txt
>
> You could write a portable solution in Python (as in Martin Laloux's
> post), but most modern command-line environments have similar (but not
> identical) support for globbing and redirecting files. If you're
> getting the glob pattern from a user, they may expect subtly
> platform-dependent behaviors, in which case portability might not as
> important as native feel.

ya its working.... thanks for all ur help