cx_Freeze创建的可执行文件在启动时没有写入权限

问题描述 投票:0回答:1

我用cx_Freeze创建了一个应用程序(Python 3.6),当作为Python命令运行时,甚至可执行文件都可以正常工作。

但是,如果我在Windows 10上自动启动应用程序(通过在shell中创建快捷方式:启动),它将创建或写入的日志文件引发PermissionError。我试图通过检查文件是否被锁定来创建一个解决方法,只需在文件末尾添加一个增量编号。

这也有效,如果我手动将日志文件设为只读,它将创建下一个,依此类推。但是使用自动启动它会引发RecursionError,所以它可能绝对没有办法写入磁盘。

无论如何没有给应用程序Run as administrator能够处理启动时创建日志文件的魔力? :)

python permissions windows-10 cx-freeze boot
1个回答
0
投票

您是否尝试让应用程序在%APPDATA%目录或%LOCALAPPDATA%directory中创建日志文件?您可以使用以下命令在Python中获取这些目录的路径:

import os
app_data_path = os.getenv('APPDATA')
local_app_data_path = os.getenv('LOCALAPPDATA')
print(app_data_path)
print(local_app_data_path)

How can I get the path to the %APPDATA% directory in Python?

© www.soinside.com 2019 - 2024. All rights reserved.