[Python-bugs-list] [ python-Bugs-621057 ] File write examples are inadequate

noreply@sourceforge.net noreply@sourceforge.net
Wed, 23 Oct 2002 06:58:32 -0700


Bugs item #621057, was opened at 2002-10-09 17:39
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=621057&group_id=5470

Category: Documentation
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Andrew Stagg (kandrew)
Assigned to: Fred L. Drake, Jr. (fdrake)
Summary: File write examples are inadequate

Initial Comment:
The examples provided for writing to files in 
section 7.2 of the documentation are overly simple 
showing only writing of a static string.  Reading 
through 7.1 (although not actually discussing file 
I/O) helps a little as the % operator is mentioned 
but the "...C sprintf()-style format string..." 
specifiers which are valid aren't cross referenced 
(and the 'Library Reference' is a largish search 
area).  I had to find out experimentally that %f isn't 
valid although %d is.  To date, I haven't been able 
to experimentally findout how to print a list or 
tuple.

trying:
  file.write('"%s"', str(relatedMeasurements))

results in:
  TypeError: read-only buffer, tuple

The addition of examples printing a list or tuple 
would be extremely helpful.  Similarly, examples of 
using file.write() to produce print type output 
would be very illuminating.

----------------------------------------------------------------------

>Comment By: Raymond Hettinger (rhettinger)
Date: 2002-10-23 08:58

Message:
Logged In: YES 
user_id=80475

Here are a few thoughts:

The % formatting operator is fully documented in 2.2.6.2 
of the library reference.  I think the tutorial should be kept 
at an introductory level and the details left in the reference. 
OTOH, I agree that 2.2.6.2 is hard to find.

%f is a valid format:  '%f' % 3.14

There are several oddities in the file.write error in your 
post. First, the double quotes inside the single quotes 
(perhaps this is intentional).  Second, the comma should 
have been the % formatting operator.  Third, since 'file' is 
the name of a type, it is normally a good idea to pick 
another name like 'infil' or 'outfil'.

The post doesn't include enough information to be able to 
reproduce the error.  We need to know the value of 
relatedMeasurements and have a line showing how the file 
was opened.

To debug the example, it would help to separate the 
concerns of file writing from the string formatting.  Get the 
program to successfully format and print a string.  Only 
then, add a line to write it out to a file.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=621057&group_id=5470