New submission from Kevin Bonham: Python 3.6.0 (default, Dec 24 2016, 08:01:42) [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> from tempfile import NamedTemporaryFile >>> tmp = NamedTemporaryFile() >>> tmp.write("hello world!") Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/tempfile.py", line 483, in func_wrapper return func(*args, **kwargs) TypeError: a bytes-like object is required, not 'str' >>> type(tmp) <class 'tempfile._TemporaryFileWrapper'>
The more verbose error points to issue #18879 (http://bugs.python.org/issue18879), which seems very similar to my problem, but is marked as resolved. --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-23-b9a4238a79b7> in <module>() ----> 1 tmp_file.write("blah") /usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/tempfile.py in func_wrapper(*args, **kwargs) 481 @_functools.wraps(func) 482 def func_wrapper(*args, **kwargs): --> 483 return func(*args, **kwargs) 484 # Avoid closing the file as long as the wrapper is alive, 485 # see issue #18879. TypeError: a bytes-like object is required, not 'str' This also seems like it might be related to http://bugs.python.org/issue28867, though I'm getting the same behavior with TemporaryFile: >>> from tempfile import TemporaryFile >>> tmp2 = TemporaryFile() >>> tmp2.write("Hello World") Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: a bytes-like object is required, not 'str' I can do: >>> with open(tmp.name, "w") as t: ... t.write("Hello world!") Is this intended behavior? The docs still say that these functions should return file-like objects. ---------- components: Library (Lib) messages: 285266 nosy: Kevin Bonham priority: normal severity: normal status: open title: Can't write to NamedTemporaryFile type: behavior versions: Python 3.6 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue29245> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com