ホームページ  >  に質問  >  本文

windows - python 文件读写 权限 permission denied

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

伊谢尔伦伊谢尔伦2740日前3780

全員に返信(3)返信します

  • 巴扎黑

    巴扎黑2017-04-18 09:41:05

    これはディレクトリに関係しています。Windows のこのディレクトリでは、ファイルを操作するために E:AC ディレクトリなどの他のディレクトリに移動できます。

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:41:05

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

    UAC 関連リンク

    返事
    0
  • PHP中文网

    PHP中文网2017-04-18 09:41:05

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

    返事
    0
  • キャンセル返事