Re: Glob returning an empty list when passed a variable

2007-02-10 Thread Steve Holden
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

2007-02-10 Thread [EMAIL PROTECTED]
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

2007-02-10 Thread Marc 'BlackJack' Rintsch
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

2007-02-10 Thread MRAB
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

2007-02-09 Thread Neil Webster
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

2007-02-09 Thread Philipp Pagel
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

2007-02-09 Thread Steve Holden
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

2007-02-09 Thread Neil Webster
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

2007-02-09 Thread Steven D'Aprano
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