allow override of binary file mode on windows

Related to #24052.
This commit is contained in:
Justin Findlay 2015-05-22 14:27:29 -06:00
parent bfd812c56b
commit b2259a6370

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():