python 文件读写 权限 permission denied

发布于 2022-09-03 15:28:42 字数 636 浏览 9 评论 0

我写了一个python小工具,安装在C:\Program Files (x86)\appname目录下,可是无法创建和读写文件,出现permission denied错误提示。
之前程序是可以在C:\Users\XXX\AppData\Local\VirtualStore\Program Files (x86)创建文件的,因为改了一大堆东西,而且代码也很长,就不贴代码了。
如何做才能在C:\Users\XXX\AppData\Local\VirtualStore\Program Files (x86)\appname创建文件,不关闭UAC,不使用管理员权限。

就像这样的代码:

# -*- coding: utf-8 -*-
with open("a.txt","w")as f:
    pass

图片描述

操作系统:windows 10 专业版 1607 开启UAC

python 2.7.11

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

无人问我粥可暖 2022-09-10 15:28:42

跟目录有关系,windows下这个目录需要管理员权限,可以去其他目录比如E:\AC目录下操作文件

星軌x 2022-09-10 15:28:42

补充一下吧。
我希望使用的是UAC虚拟化,但是是windows不提倡的一种做法。问题问的是UAC虚拟化失败的原因和处理方法。我之前是可以虚拟化成功的,不知道为什么失败了。
另外给出windows推荐的方式。把文件创建在其他目录下。用os.getenv('ALLUSERSPROFILE')或者os.environ.get('ALLUSERSPROFILE')获取系统环境变量,然后构造路径。相关的变量还有LOCALAPPDATAAPPDATA分别对应不同的目录。或许用合适的方式,这问题也就不存在了。还是获取系统变量写入文件比较好,而不是在C盘或者其他盘创建文件夹,万一没有其他DEF盘符呢,或者系统盘符不是C盘呢?程序不应该写死了,最好按照微软的建议和大家约定的做法去做。最后感慨一下,segmentfault还不够活跃,我提的问题基本是自问自答。再吐槽一下,文本编辑器不好用。

UAC相关链接

你不是我要的菜∠ 2022-09-10 15:28:42

可以对目录权限做划分,如果一定要在这个目录下建文件,就给这个文件夹可写权限,继承权限就看你需求了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文