On Mon, Jul 27, 2009 at 5:10 AM, <[email protected]> wrote:

> files = set([file for file in os.listdir(os.getcwd()) if 
> file.endswith('svg')])
> print len(files)
>
> for file in files:
>    file = file.strip('.svg')
>    print file
> #    if countries.has_key(file):
> #       print file
>
> When I run this I get:
>
> Flag_of_Uganda
> ...
>
> The problem is that for example the file Flag_of_the_United_States.svg when I 
> use the strip('.svg') it is returned as Flag_of_the_United_State
>
> Also, How do I remove 'Flag_of', 'Flag_of_the_'

I suggest you use glob.glob() instead of os.listdir():

files = glob.glob('Flag_of_*.svg)

Then you know that each file name starts with Flag_of_ and ends with
.svg. To remove them, since they are fixed strings you can just use
slicing;
file = file[8:-4]
if file.startswith('the_'):
  file = file[4:]

Kent
_______________________________________________
Tutor maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/tutor

Reply via email to