当前位置: 首页 > 面试题库 >

权限被拒绝写入我的临时文件

赫连子石
2023-03-14
问题内容

我正在尝试使用Python在Windows OS上创建并写入一个临时文件。我已经使用Python模块tempfile创建了一个临时文件。

但是当我去写那个临时文件的时候我得到了一个错误Permission Denied。我不可以写临时文件吗?难道我做错了什么?如果要创建并写入临时文件,应该如何在Python中进行操作?为了安全起见,我想在temp目录中创建一个临时文件,而不是在本地(在.exe正在执行的目录中)中创建一个临时文件。

IOError: [Errno 13] Permission denied: 'c:\\users\\blah~1\\appdata\\local\\temp\\tmpiwz8qw'

temp = tempfile.NamedTemporaryFile().name
f = open(temp, 'w') # error occurs on this line

问题答案:

NamedTemporaryFile实际上 为您 创建并打开 该文件,无需您再次 打开
该文件进行写入。实际上,Python文档指出:

在命名的临时文件仍处于打开状态时,是否可以使用该名称第二次打开文件,在不同的平台上都不同(可以在Unix上使用; 在Windows
NT或更高版本上不能使用
)。

这就是为什么您遇到权限错误的原因。您可能想要的是:

f = tempfile.NamedTemporaryFile(mode='w') # open file
temp = f.name                             # get name (if needed)


 类似资料:
  • 我试图在android中写入文件,但一直出现以下错误: java.io.FileNotFoundException: /storage/emulated/0/Notes/TestFile.txt(权限拒绝) 搜索此网站可以简单地解决此问题,即向应用程序清单文件添加WRITE\u EXTERNAL\u存储,但这对我不起作用。我一直在犯同样的错误。

  • 我试图用docker运行一个简单的命令,读取我的主目录中的文件,并在本地机器上的同一目录中写入输出文件(

  • 同时运行docker的服务 YML文件: DockerFile: 来自rabbitmq:3-management-alpine 抄袭/配置/ampq/devhost 我使用了这个命令:docker-compose-fdocker-compose.yml--build ampq 请帮我解决这个问题

  • 我在清单中添加了对外部存储设备的写访问权限,并在我的Android手机中授予了这些权限。如果他们不存在,我甚至会在执行时要求他们。 然而,我总是得到这个例外: Java语言io。FileNotFoundException:/storage/simulated/03b3d97bd-5186-4506-97dc-9994b7ce0761(权限被拒绝) 你知道为什么吗? 在清单文件中:

  • 我添加了使用权限,包括WRITE_EXTERNAL_STORAGE,android.permission.相机,READ_EXTERNAL_STORAGEAndroidManifest.xml. 当我在Nexus6(API 24)中运行我的应用程序时,它向我抛出了以下错误: java.io.IOException:权限被拒绝 这是我的代码: 如何在权限相机运行时打开之前使用它?

  • 问题内容: 当我尝试运行简单的docker命令时,例如: 我收到一条错误消息: 获得权限被拒绝… /var/run/docker.sock:connect:权限被拒绝 当我检查权限 我看到这一行: 因此,我遵循许多论坛的建议并将本地用户添加到docker组: 但这无济于事。我仍然收到非常相同的错误消息。我该如何解决? 问题答案: 对于那些刚接触shell的人,命令: 需要在您的外壳中定义。默认情况