Re: path stuff

2007-05-12 Thread BartlebyScrivener
On May 9, 1:11 pm, fscked [EMAIL PROTECTED] wrote:
 I am walking some directories looking for a certain filename pattern.
 This part works fine, but what if I want to exclude results from a
 certain directory being printed?

You might find this thread helpful

http://tinyurl.com/2guk3l

Note how the backup dirs are excluded.

Highly recommend Python Cookbook, too.

rd

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


Re: path stuff

2007-05-11 Thread fscked
On May 10, 6:08 pm, Gabriel Genellina [EMAIL PROTECTED]
wrote:
 En Thu, 10 May 2007 19:04:30 -0300, fscked [EMAIL PROTECTED]  
 escribió:





  ok, I lied, it is still doing the archived folders. Here is the code:

  import os, sys
  from path import path

  myfile = open(boxids.txt, r, 0)
  for line in myfile:
  d = 'D:\\Dir\\' + path(line.strip())
  for f in d.walkfiles('*Config*.xml'):
  for dirpath, dirnames, filenames in os.walk(d):
  if Archived in dirnames:
  dirnames.remove(Archived) #skip this directory
  print f
  print 'Done'

  when it does the print f it still shows me the dirs i don't want to
  see.

 You are walking the directory structure *twice*, using two different  
 methods at the same time. Also, there is no standard `path` module, and  
 several implementations around, so it would be a good idea to tell us  
 which one you use.
 If you want to omit a directory, and include just filenames matching a  
 pattern:

 import os, sys, os.path, fnmatch

 def findinterestingfiles(root_dir):
for dirpath, dirnames, filenames in os.walk(root_dir):
  if Archived in dirnames:
dirnames.remove(Archived)
  for filename in fnmatch.filter(filenames, '*Config*.xml'):
fullfn = os.path.join(dirpath, filename)
print fullfn

 myfile = open(boxids.txt, r)
 for line in myfile:
dirname = os.path.join('D:\\Dir\\', line.strip())
findinterestingfiles(dirname):
 myfile.close()

 --
 Gabriel Genellina- Hide quoted text -

 - Show quoted text -

Should this code work? I get a syntax error and cannot figure out why.

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


Re: path stuff

2007-05-11 Thread Gabriel Genellina
En Fri, 11 May 2007 13:25:55 -0300, fscked [EMAIL PROTECTED]  
escribió:

 import os, sys, os.path, fnmatch

 def findinterestingfiles(root_dir):
for dirpath, dirnames, filenames in os.walk(root_dir):
  if Archived in dirnames:
dirnames.remove(Archived)
  for filename in fnmatch.filter(filenames, '*Config*.xml'):
fullfn = os.path.join(dirpath, filename)
print fullfn

 myfile = open(boxids.txt, r)
 for line in myfile:
dirname = os.path.join('D:\\Dir\\', line.strip())
findinterestingfiles(dirname):
 myfile.close()

 Should this code work? I get a syntax error and cannot figure out why.

Sorry, remove the spurious : after findinterestingfiles(dirname) and it  
should work fine.

-- 
Gabriel Genellina

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


Re: path stuff

2007-05-10 Thread fscked
On May 9, 7:02 pm, Gabriel Genellina [EMAIL PROTECTED] wrote:
 En Wed, 09 May 2007 15:11:06 -0300, fscked [EMAIL PROTECTED]  
 escribió:

  I am walking some directories looking for a certain filename pattern.
  This part works fine, but what if I want to exclude results from a
  certain directory being printed?

 Using os.walk you can skip undesired directories entirely:

 for dirpath, dirnames, filenames in os.walk(starting_dir):
  if archived in dirnames:
  dirnames.remove(archived)
  # process filenames, typically:
  for filename in filenames:
  fullfn = os.path.join(dirpath, filename)
  ...

 --
 Gabriel Genellina

OK, this is on Winbloze and it keeps giving me The directory name is
invalid: ublahblahblah with double backslashies everywhere. I am
currently trying to figure out how to make those go away. I shall
check back in a bit.

thanks for all the help so far. :)

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


Re: path stuff

2007-05-10 Thread fscked
On May 10, 10:41 am, fscked [EMAIL PROTECTED] wrote:
 On May 9, 7:02 pm, Gabriel Genellina [EMAIL PROTECTED] wrote:





  En Wed, 09 May 2007 15:11:06 -0300, fscked [EMAIL PROTECTED]  
  escribió:

   I am walking some directories looking for a certain filename pattern.
   This part works fine, but what if I want to exclude results from a
   certain directory being printed?

  Using os.walk you can skip undesired directories entirely:

  for dirpath, dirnames, filenames in os.walk(starting_dir):
   if archived in dirnames:
   dirnames.remove(archived)
   # process filenames, typically:
   for filename in filenames:
   fullfn = os.path.join(dirpath, filename)
   ...

  --
  Gabriel Genellina

 OK, this is on Winbloze and it keeps giving me The directory name is
 invalid: ublahblahblah with double backslashies everywhere. I am
 currently trying to figure out how to make those go away. I shall
 check back in a bit.

 thanks for all the help so far. :)- Hide quoted text -

 - Show quoted text -

ok, got the backslashies fixed, not I want it to print just a single
line for each matching filename and dirpath, but it prints 3... hmm...

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


Re: path stuff

2007-05-10 Thread fscked
On May 10, 12:45 pm, fscked [EMAIL PROTECTED] wrote:
 On May 10, 10:41 am, fscked [EMAIL PROTECTED] wrote:





  On May 9, 7:02 pm, Gabriel Genellina [EMAIL PROTECTED] wrote:

   En Wed, 09 May 2007 15:11:06 -0300, fscked [EMAIL PROTECTED]  
   escribió:

I am walking some directories looking for a certain filename pattern.
This part works fine, but what if I want to exclude results from a
certain directory being printed?

   Using os.walk you can skip undesired directories entirely:

   for dirpath, dirnames, filenames in os.walk(starting_dir):
if archived in dirnames:
dirnames.remove(archived)
# process filenames, typically:
for filename in filenames:
fullfn = os.path.join(dirpath, filename)
...

   --
   Gabriel Genellina

  OK, this is on Winbloze and it keeps giving me The directory name is
  invalid: ublahblahblah with double backslashies everywhere. I am
  currently trying to figure out how to make those go away. I shall
  check back in a bit.

  thanks for all the help so far. :)- Hide quoted text -

  - Show quoted text -

 ok, got the backslashies fixed, not I want it to print just a single
 line for each matching filename and dirpath, but it prints 3... hmm...- Hide 
 quoted text -

 - Show quoted text -

Nevermind, I am indentationally challenged. I was printing under the
for dirpath, dirname, filename part and had to unindent uno time.

It works as desired now, thanks!

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


Re: path stuff

2007-05-10 Thread fscked
On May 10, 1:43 pm, fscked [EMAIL PROTECTED] wrote:
 On May 10, 12:45 pm, fscked [EMAIL PROTECTED] wrote:





  On May 10, 10:41 am, fscked [EMAIL PROTECTED] wrote:

   On May 9, 7:02 pm, Gabriel Genellina [EMAIL PROTECTED] wrote:

En Wed, 09 May 2007 15:11:06 -0300, fscked [EMAIL PROTECTED]  
escribió:

 I am walking some directories looking for a certain filename pattern.
 This part works fine, but what if I want to exclude results from a
 certain directory being printed?

Using os.walk you can skip undesired directories entirely:

for dirpath, dirnames, filenames in os.walk(starting_dir):
 if archived in dirnames:
 dirnames.remove(archived)
 # process filenames, typically:
 for filename in filenames:
 fullfn = os.path.join(dirpath, filename)
 ...

--
Gabriel Genellina

   OK, this is on Winbloze and it keeps giving me The directory name is
   invalid: ublahblahblah with double backslashies everywhere. I am
   currently trying to figure out how to make those go away. I shall
   check back in a bit.

   thanks for all the help so far. :)- Hide quoted text -

   - Show quoted text -

  ok, got the backslashies fixed, not I want it to print just a single
  line for each matching filename and dirpath, but it prints 3... hmm...- 
  Hide quoted text -

  - Show quoted text -

 Nevermind, I am indentationally challenged. I was printing under the
 for dirpath, dirname, filename part and had to unindent uno time.

 It works as desired now, thanks!- Hide quoted text -

 - Show quoted text -

ok, I lied, it is still doing the archived folders. Here is the code:

import os, sys
from path import path

myfile = open(boxids.txt, r, 0)
for line in myfile:
d = 'D:\\Dir\\' + path(line.strip())
for f in d.walkfiles('*Config*.xml'):
for dirpath, dirnames, filenames in os.walk(d):
if Archived in dirnames:
dirnames.remove(Archived) #skip this directory
print f
print 'Done'


when it does the print f it still shows me the dirs i don't want to
see.

any more ideas?

TIA

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


Re: path stuff

2007-05-10 Thread Gabriel Genellina
En Thu, 10 May 2007 19:04:30 -0300, fscked [EMAIL PROTECTED]  
escribió:

 ok, I lied, it is still doing the archived folders. Here is the code:

 import os, sys
 from path import path

 myfile = open(boxids.txt, r, 0)
 for line in myfile:
 d = 'D:\\Dir\\' + path(line.strip())
 for f in d.walkfiles('*Config*.xml'):
 for dirpath, dirnames, filenames in os.walk(d):
 if Archived in dirnames:
 dirnames.remove(Archived) #skip this directory
 print f
 print 'Done'


 when it does the print f it still shows me the dirs i don't want to
 see.

You are walking the directory structure *twice*, using two different  
methods at the same time. Also, there is no standard `path` module, and  
several implementations around, so it would be a good idea to tell us  
which one you use.
If you want to omit a directory, and include just filenames matching a  
pattern:

import os, sys, os.path, fnmatch

def findinterestingfiles(root_dir):
   for dirpath, dirnames, filenames in os.walk(root_dir):
 if Archived in dirnames:
   dirnames.remove(Archived)
 for filename in fnmatch.filter(filenames, '*Config*.xml'):
   fullfn = os.path.join(dirpath, filename)
   print fullfn

myfile = open(boxids.txt, r)
for line in myfile:
   dirname = os.path.join('D:\\Dir\\', line.strip())
   findinterestingfiles(dirname):
myfile.close()

-- 
Gabriel Genellina

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


path stuff

2007-05-09 Thread fscked
I am walking some directories looking for a certain filename pattern.
This part works fine, but what if I want to exclude results from a
certain directory being printed?

eg

d:\dir\mydir1\filename.txt  --I want to
see this one
d:\dir\mydir2\archived\filename.txt --I don't want to
see anything in the archived directory
d:\dir\mydir2\filename.txt  --Again, I do
want to see this one

I am having a bit of trouble figuring out how to use the path module
to hack up the path to determine if I am in a subdir I care about. So
either don show me the results from a certain directory or just plain
skip a certain directory.

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


Re: path stuff

2007-05-09 Thread kyosohma
On May 9, 1:11 pm, fscked [EMAIL PROTECTED] wrote:
 I am walking some directories looking for a certain filename pattern.
 This part works fine, but what if I want to exclude results from a
 certain directory being printed?

 eg

 d:\dir\mydir1\filename.txt  --I want to
 see this one
 d:\dir\mydir2\archived\filename.txt --I don't want to
 see anything in the archived directory
 d:\dir\mydir2\filename.txt  --Again, I do
 want to see this one

 I am having a bit of trouble figuring out how to use the path module
 to hack up the path to determine if I am in a subdir I care about. So
 either don show me the results from a certain directory or just plain
 skip a certain directory.

Hi,

One way to do it would be to grab just the directory path like this:

dirPath = os.path.dirname(path)

and then use and if:

if 'archived' in dirPath:
   # skip this directory

That should get you closer to the answer anyway.

Mike

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


Re: path stuff

2007-05-09 Thread Gabriel Genellina
En Wed, 09 May 2007 15:11:06 -0300, fscked [EMAIL PROTECTED]  
escribió:

 I am walking some directories looking for a certain filename pattern.
 This part works fine, but what if I want to exclude results from a
 certain directory being printed?

Using os.walk you can skip undesired directories entirely:

for dirpath, dirnames, filenames in os.walk(starting_dir):
 if archived in dirnames:
 dirnames.remove(archived)
 # process filenames, typically:
 for filename in filenames:
 fullfn = os.path.join(dirpath, filename)
 ...

-- 
Gabriel Genellina

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