[Tutor] what's wrong with this ?
Alan Gauld
alan.gauld at btinternet.com
Tue Apr 21 10:08:25 CEST 2015
On 21/04/15 06:22, lei yang wrote:
>>>> start_time = "2014-7-1"
>>>> revlines = commands.getoutput("git log --pretty=format:'%ad:%an'
> --date=short --since='%s' --no-merges" %start_time).strip().split('\n')
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> ValueError: unsupported format character 'a' (0x61) at index 26
>>>>
Your pretty=format argument has a %a in it.
Python tries to match percent signs to the values provided
but it doesn't know how to process %a. You need to get a
literal % sign into your string so you need to double
it up. Here is a simpler example:
>>> "foo %%5 and %d" % 45
'foo %5 and 45'
>>>
Alternatively use the more modern subprocess module while
helps prevent these kinds of issues by taking all
arguments as separate strings in a list.
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos
More information about the Tutor
mailing list