5

我没有重新分配 open 关键字,但仍然收到此错误。有什么建议或方向来解决我的错误吗?

 with tempfile.mkdtemp() as test_dir:
        print(test_dir)

AttributeError: __enter__

我也是 python 新手,我很难理解这些概念。

4

2 回答 2

5

您错误地使用了 mkdtemp。mkdtemp将路径名返回为 str,而不是上下文管理器。

如果你想要一个上下文管理器来管理一个临时目录,你需要使用TemporaryDirectory,它在 Python 3.2 及更高版本中可用。

于 2019-03-04T13:18:46.403 回答
0

虽然我看到你们中的一些人已经回答了这个问题,但我想添加我的答案以获得更好的清晰度。

工作 ------ 并使用 open(fullname, "r") 作为文件进行更正: content = file.read()

不工作----并且使用 open(fullname, "r").read() 作为文件不正确:

原因:当您添加 .read() 时,它的字符串而不是文件处理程序和字符串没有内置进入退出方法,并且文件处理程序有两个内置方法进入退出

于 2020-06-01T06:33:37.453 回答