2016-10-12 2 views
-1

업로드 한 파일을 Windows 시스템의 특정 폴더로 이동하려고하는데 WindowsError가 나타납니다 : [오류 5] 액세스가 거부되었습니다. 필자가 그런 문제를 보게되는 솔루션은 python을 cmd 라인에서 Administrator로 실행합니다. 그게 가능한 웹 애플 리케이션과 나는 개발 목적으로 기본 플라스크 서버를 사용하고 Pycharm에서 실행할 수 있기 때문에 나는 확실하지 않습니다.WindowsError : [오류 5] Flask에서 액세스가 거부되었습니다.

내 코드

@app.route('/test',methods=['POST']) 
def test(): 
    import os 
    if not os.path.exists("history_plugin"): 
     os.makedirs("test") 
     f = open('test/abc.txt', 'w+') 
     f.close() 
+0

'프로그램'을 실행하는 방법을 명확히 할 수 있습니까? 단지 'python myflask.py'입니까, 아니면 uwsgi 같은 것입니까? - 코드에 오류가 없으며 관리자 권한으로 실행하지 않아도됩니다. – Jmons

+0

권한으로 이러한 파일에 액세스 할 수 있습니까? 또한 웹 응용 프로그램이지만 명령 줄을 통해 웹 응용 프로그램을 실행한다고 언급합니다. – Lewis

답변

0

내가 관리자 모드에서 실행하지 않는 Pycharm에서 직접 응용 프로그램을 실행했다입니다

내가 관리자로 명령 프롬프트를 사용하여 실행 시도하고 일했다 나를.

1

'직접 pycharm'응용 프로그램을 실행하는 것은 명령 프롬프트에서 실행하는 것과 동일하지만 몇 가지주의 사항이 있습니다. 개인적으로 pycharm에서 python을 실행하는 것이 오류를 일으킬 수 있으므로 실행하는 것을 좋아하지 않습니다.

이상적으로 관리자 권한으로 실행하고 싶지는 않지만 Windows와 관련하여 몇 가지 문제가있을 수 있습니다. 먼저 파일에서 액세스가 거부되었으며 응용 프로그램을 포트 80에 바인드하지 않았는지 확인하십시오 (포트 80을 인계하는 Skype와 같은 Windows에서 바인드하려는 다른 문제를 참고하십시오)

mkdir로 인해 발생하는 경우 사용자가 생성하는 폴더뿐만 아니라 상위 폴더에 대한 사용 권한을 갖고 있는지 확인하십시오. 관리자 권한으로 실행하는 것에주의하십시오. 일반적으로 서비스 당 사용자를 생성하고 실행해야하지만, 개발 중에는 고통을 느낄 수 있습니다 (또한 '프로덕션'에서 uwsgi 또는 비슷한 것을 실행하여 파이썬 프로세스 관리자로 실행하려는 경우).

다른 점은 어디에서 실행 중인지입니다. Desktop 폴더에서 실행 중이면 응용 프로그램에 이상한 권한 문제가있을 수 있음을 알고 있습니다. 어떤 종류의 사용자 '작업대'폴더.

관련 문제