Re: Glob returning an empty list when passed a variable
Steven D'Aprano wrote: On Fri, 09 Feb 2007 14:15:51 +, Steve Holden wrote: area_name_string = '*% s*' % (Area_name) Interesting, I never realised until now that you can have spaces between the percent sign and th format effector. Space is one of the flags. From the docs: The conversion flag characters are: Flag Meaning # The value conversion will use the ``alternate form'' (where defined below). 0 The conversion will be zero padded for numeric values. - The converted value is left adjusted (overrides the 0 conversion if both are given). (a space) A blank should be left before a positive number (or empty string) produced by a signed conversion. + A sign character (+ or -) will precede the conversion (overrides a space flag). http://docs.python.org/lib/typesseq-strings.html % s % 'banana' 'banana' % s % 1 '1' % s % -1 '-1' Since it appears non-operative in the case of strings I'd be tempted to leave it out, though my original post was triggered by my surprise that I'd not seen the feature before. There are no limits to my ignorance :) regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://del.icio.us/steve.holden Blog of Note: http://holdenweb.blogspot.com See you at PyCon? http://us.pycon.org/TX2007 -- http://mail.python.org/mailman/listinfo/python-list
Re: Glob returning an empty list when passed a variable
On Feb 10, 3:32 pm, Steve Holden [EMAIL PROTECTED] wrote: % s % 'banana' 'banana' % s % 1 '1' % s % -1 '-1' With some number: In [2]: % 3s % 'a' Out[2]: ' a' Hieu -- http://mail.python.org/mailman/listinfo/python-list
Re: Glob returning an empty list when passed a variable
In [EMAIL PROTECTED], [EMAIL PROTECTED] wrote: With some number: In [2]: % 3s % 'a' Out[2]: ' a' The space still doesn't have any effect here: In [66]: %3s % 'a' Out[66]: ' a' Ciao, Marc 'BlackJack' Rintsch -- http://mail.python.org/mailman/listinfo/python-list
Re: Glob returning an empty list when passed a variable
On Feb 10, 8:32 am, Steve Holden [EMAIL PROTECTED] wrote: Steven D'Aprano wrote: On Fri, 09 Feb 2007 14:15:51 +, Steve Holden wrote: area_name_string = '*% s*' % (Area_name) Interesting, I never realised until now that you can have spaces between the percent sign and th format effector. Space is one of the flags. From the docs: The conversion flag characters are: Flag Meaning # The value conversion will use the ``alternate form'' (where defined below). 0 The conversion will be zero padded for numeric values. - The converted value is left adjusted (overrides the 0 conversion if both are given). (a space) A blank should be left before a positive number (or empty string) produced by a signed conversion. + A sign character (+ or -) will precede the conversion (overrides a space flag). http://docs.python.org/lib/typesseq-strings.html % s % 'banana' 'banana' % s % 1 '1' % s % -1 '-1' [snip] I've just tried it and it works for the d format but not the s format: %d % 1 '1' %+d % 1 '+1' % d % 1 ' 1' -- http://mail.python.org/mailman/listinfo/python-list
Glob returning an empty list when passed a variable
Hi, I was wondering whether anybody could help me out. I have a program, for part of it I am trying to pass a variable to a glob function, this returns an empty list. The strange thing is when I hard code in the variable the glob section works. Does anybody have any ideas as why it is not working? The section of code that is not working is: # The variable to be passed to the glob function area_name_string = '*% s*' % (Area_name) os.chdir(Input) filename = glob.glob(area_name_string) Thanks in advance Neil -- http://mail.python.org/mailman/listinfo/python-list
Re: Glob returning an empty list when passed a variable
Neil Webster [EMAIL PROTECTED] wrote: area_name_string = '*% s*' % (Area_name) os.chdir(Input) filename = glob.glob(area_name_string) Too many quotation marks. Area_name='Foo' '*% s*' % (Area_name) '*Foo*' Unless there are files with funny names containing '' you will not get a match. cu Philipp -- Dr. Philipp Pagel Tel. +49-8161-71 2131 Dept. of Genome Oriented BioinformaticsFax. +49-8161-71 2186 Technical University of Munich http://mips.gsf.de/staff/pagel -- http://mail.python.org/mailman/listinfo/python-list
Re: Glob returning an empty list when passed a variable
Neil Webster wrote: Hi, I was wondering whether anybody could help me out. I have a program, for part of it I am trying to pass a variable to a glob function, this returns an empty list. The strange thing is when I hard code in the variable the glob section works. Does anybody have any ideas as why it is not working? The section of code that is not working is: # The variable to be passed to the glob function area_name_string = '*% s*' % (Area_name) os.chdir(Input) filename = glob.glob(area_name_string) Thanks in advance Because you are trying to match filenames that have a double-quote character at the start and end? Try area_name_string = '*% s*' % (Area_name) Interesting, I never realised until now that you can have spaces between the percent sign and th format effector. regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://del.icio.us/steve.holden Blog of Note: http://holdenweb.blogspot.com See you at PyCon? http://us.pycon.org/TX2007 -- http://mail.python.org/mailman/listinfo/python-list
Re: Glob returning an empty list when passed a variable
On 9 Feb, 14:15, Steve Holden [EMAIL PROTECTED] wrote: Neil Webster wrote: Hi, I was wondering whether anybody could help me out. I have a program, for part of it I am trying to pass a variable to a glob function, this returns an empty list. The strange thing is when I hard code in the variable the glob section works. Does anybody have any ideas as why it is not working? The section of code that is not working is: # The variable to be passed to the glob function area_name_string = '*% s*' % (Area_name) os.chdir(Input) filename = glob.glob(area_name_string) Thanks in advance Because you are trying to match filenames that have a double-quote character at the start and end? Try area_name_string = '*% s*' % (Area_name) Interesting, I never realised until now that you can have spaces between the percent sign and th format effector. regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenwebhttp://del.icio.us/steve.holden Blog of Note: http://holdenweb.blogspot.com See you at PyCon?http://us.pycon.org/TX2007- Hide quoted text - - Show quoted text - Steve and Philipp, Thanks very much for the promptness of the reply and providing the answer. Steve, it appears to work so I left it, should it not be possible? Regards Neil -- http://mail.python.org/mailman/listinfo/python-list
Re: Glob returning an empty list when passed a variable
On Fri, 09 Feb 2007 14:15:51 +, Steve Holden wrote: area_name_string = '*% s*' % (Area_name) Interesting, I never realised until now that you can have spaces between the percent sign and th format effector. Space is one of the flags. From the docs: The conversion flag characters are: FlagMeaning # The value conversion will use the ``alternate form'' (where defined below). 0 The conversion will be zero padded for numeric values. - The converted value is left adjusted (overrides the 0 conversion if both are given). (a space) A blank should be left before a positive number (or empty string) produced by a signed conversion. + A sign character (+ or -) will precede the conversion (overrides a space flag). http://docs.python.org/lib/typesseq-strings.html -- Steven. -- http://mail.python.org/mailman/listinfo/python-list