This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients docs@python, socketpair, vstinner
Date 2011-05-18.11:16:06
SpamBayes Score 1.31388e-08
Marked as misclassified No
Message-id <>
c, e, m and x flags are specific to the GNU libc. Python 2 does basically pass the mode to fopen() unmodified (there is one exception, the U flag). fopen() of Visual C++ 2005 has other flags:

Enable the commit flag for the associated filename so that the contents of the file buffer are written directly to disk if either fflush or _flushall is called.

Reset the commit flag for the associated filename to "no-commit." This is the default. It also overrides the global commit flag if you link your program with COMMODE.OBJ. The global commit flag default is "no-commit" unless you explicitly link your program with COMMODE.OBJ (see Link Options).

Specifies that the file is not inherited by child processes.

Specifies that caching is optimized for, but not restricted to, sequential access from disk.

Specifies that caching is optimized for, but not restricted to, random access from disk.

Specifies a file as temporary. If possible, it is not flushed to disk.

Specifies a file as temporary. It is deleted when the last file pointer is closed.

Specifies the coded character set to use (UTF-8, UTF-16LE, or UNICODE) for this file. Leave unspecified if you want ANSI encoding. This option is available in Visual C++ 2005 and later.

I don't think that non standard modes should be documented in Python doc, but we may add links to specific documentations like the GNU libc and Microsoft fopen().


This issue is specific to Python 2, Python 3 doesn't use fopen() anymore.
Date User Action Args
2011-05-18 11:16:08vstinnersetrecipients: + vstinner, docs@python, socketpair
2011-05-18 11:16:07vstinnersetmessageid: <>
2011-05-18 11:16:07vstinnerlinkissue12103 messages
2011-05-18 11:16:06vstinnercreate