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

我写了一个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 ディレクトリなどの他のディレクトリに移動できます。

いいねを押す +0
Peter_Zhu

少し付け加えさせてください。
UAC 仮想化を使用したいと考えていますが、これは Windows が推奨しているものではありません。質問は、UAC 仮想化の失敗の理由と解決策について尋ねます。以前は仮想化に成功していましたが、なぜ失敗したのかわかりません。
Windows で推奨される方法も示します。他のディレクトリにファイルを作成します。 os.getenv('ALLUSERSPROFILE') または os.environ.get('ALLUSERSPROFILE') を使用してシステム環境変数を取得し、パスを構築します。関連する変数には、異なるディレクトリに対応する LOCALAPPDATAAPPDATA が含まれます。おそらく適切な方法を使えば、この問題は解消されるでしょう。 C ドライブや他のドライブにフォルダーを作成するのではなく、システム変数を取得してファイルに書き込む方がよいでしょう。他の DEF ドライブ文字がない場合、またはシステム ドライブ文字が C ドライブではない場合はどうすればよいでしょうか。プログラムは死ぬほど書き込むべきではありません。Microsoft の提案と全員が合意した慣行に従うのが最善です。最後に、segmentfault が十分にアクティブではないことを嘆きますが、私が尋ねた質問は基本的に自分自身で尋ね、回答するものです。もう一度文句を言いますが、テキストエディタは使いにくいです。

UAC 関連リンク

いいねを押す +0
Ty80

このディレクトリにファイルを作成する必要がある場合は、必要に応じてフォルダーに書き込み権限を付与します。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート