Merge pull request #24089 from jfindlay/binary_write

allow override of binary file mode on windows
This commit is contained in:
Thomas S Hatch 2015-05-25 13:38:44 -06:00
commit 517552caa6

View file

@ -1029,17 +1029,18 @@ def fopen(*args, **kwargs):
return flopen(*args, **kwargs)
# ensure 'binary' mode is always used on windows
if is_windows():
if len(args) > 1:
args = list(args)
if 'b' not in args[1]:
args[1] += 'b'
elif kwargs.get('mode', None):
if 'b' not in kwargs['mode']:
kwargs['mode'] += 'b'
else:
# the default is to read
kwargs['mode'] = 'rb'
if kwargs.pop('binary', True):
if is_windows():
if len(args) > 1:
args = list(args)
if 'b' not in args[1]:
args[1] += 'b'
elif kwargs.get('mode', None):
if 'b' not in kwargs['mode']:
kwargs['mode'] += 'b'
else:
# the default is to read
kwargs['mode'] = 'rb'
fhandle = open(*args, **kwargs)
if is_fcntl_available():