찾다

 >  Q&A  >  본문

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

伊谢尔伦伊谢尔伦2801일 전3847

모든 응답(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
  • 취소회신하다