Formatted input function

Terry Reedy tjreedy at udel.edu
Sat Sep 5 17:00:55 CEST 2009


Chris Rebert wrote:
> On Sat, Sep 5, 2009 at 3:13 AM, candide<candide at free.invalid> wrote:
>> I have a text file and the first line provides the best score of a game. This
>> line has  the following format :
>>
>> Best score : 42
>>
>> In order to update the score, I try to retrieve the score value.
>>
>> In C, we would manage this with the following statement :
>>
>> fscanf(foo_file, "Best score : %d", &score);
>>
>> Does Python provide an equivalent ?
> 
> Not an exact one, but it's still easily accomplished:
> 
> score = int(foo_file.read().split(":").strip())

One must, of course, select the second item from the list returned by 
.split. The .strip() seems not to be needed, at least in 3.1, as int() 
ignores whitespace.

 >>> s='Best score : 42\n'
 >>> int(s.split(':')[1])
42




More information about the Python-list mailing list