Maison  >  Questions et réponses  >  le corps du texte

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 Il y a quelques jours3781

répondre à tous(3)je répondrai

  • 巴扎黑

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

    Cela a quelque chose à voir avec le répertoire. Ce répertoire sous Windows nécessite des droits d'administrateur. Vous pouvez accéder à d'autres répertoires comme le répertoire E:AC pour exploiter les fichiers

    .

    répondre
    0
  • 天蓬老师

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

    Veuillez ajouter quelque chose.
    J'espère utiliser la virtualisation UAC, mais c'est une pratique que Windows ne préconise pas. La question porte sur les raisons et les solutions à l'échec de la virtualisation UAC. J'ai déjà réussi à virtualiser avec succès, mais je ne sais pas pourquoi cela a échoué.
    Donne également la méthode recommandée pour Windows. Créez des fichiers dans d'autres répertoires. Utilisez os.getenv('ALLUSERSPROFILE') ou os.environ.get('ALLUSERSPROFILE') pour obtenir les variables d'environnement système, puis construisez le chemin. Les variables associées incluent LOCALAPPDATA et APPDATA, qui correspondent à différents répertoires. Peut-être qu’avec une méthode appropriée, ce problème disparaîtra. Il est préférable d'obtenir les variables système et de les écrire dans des fichiers au lieu de créer des dossiers sur le lecteur C ou sur d'autres lecteurs. Que se passe-t-il s'il n'y a pas d'autre lettre de lecteur DEF ou si la lettre de lecteur système n'est pas le lecteur C ? Le programme ne doit pas être écrit à mort. Il est préférable de suivre les suggestions de Microsoft et les pratiques convenues par chacun. Enfin, je déplore que segmentfault ne soit pas assez actif. Les questions que j'ai posées sont essentiellement posées et répondues. Je me plains encore, l'éditeur de texte n'est pas simple à utiliser.

    Liens relatifs à l'UAC

    répondre
    0
  • PHP中文网

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

    Vous pouvez diviser les autorisations de répertoire. Si vous devez créer des fichiers dans ce répertoire, accordez à ce dossier des autorisations d'écriture. L'héritage des autorisations dépend de vos besoins

    .

    répondre
    0
  • Annulerrépondre