windows - python 文件读写 权限 permission denied
伊谢尔伦
伊谢尔伦 2017-04-18 09:39:05
0
3
3867

我写了一个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

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回覆(3)
巴扎黑

跟目錄有關係,windows下這個目錄需要管理員權限,可以去其他目錄例如E:AC目錄下操作檔

Peter_Zhu

補充一下吧。
我希望使用的是UAC虛擬化,但是是windows不提倡的做法。問題問的是UAC虛擬化失敗的原因和處理方法。我之前是可以虛擬化成功的,不知道為什麼失敗了。
另外給出windows推薦的方式。把檔案建立在其他目錄下。用os.getenv('ALLUSERSPROFILE')或者os.environ.get('ALLUSERSPROFILE')获取系统环境变量,然后构造路径。相关的变量还有LOCALAPPDATAAPPDATA分別對應不同的目錄。或許用合適的方式,這問題就不存在了。還是取得系統變數寫入檔案比較好,而不是在C碟或其他磁碟建立資料夾,萬一沒有其他DEF盤符呢,或是係統盤符不是C碟呢?程式不該寫死了,最好照微軟的建議和大家約定的做法去做。最後感慨一下,segmentfault還不夠活躍,我提的問題基本上是自問自答。再吐槽一下,文字編輯器不好用。

UAC相關連結

Ty80

可以對目錄權限做劃分,如果一定要在這個目錄下建文件,就給這個資料夾可寫權限,繼承權限就看你需求了

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板