2016-10-12 117 views
-1

アップロードしたファイルをWindowsシステムの特定のフォルダに移動しようとしましたが、WindowsErrorが表示されます:[エラー5]アクセスが拒否されました。私がこのような問題のために見た解決策は、Pythonを管理者としてcmd行から実行することです。私はそれがWebアプリケーションであり、開発目的のためにデフォルトのフラスコサーバーを使用してPycharmから実行しているので、それが可能かどうかはわかりません。WindowsError:[エラー5] Flaskでアクセスが拒否されました

私のコードは私が管理者としてコマンドプロンプトを使用してそれを実行してみましたし、それがために働いた管理者モードで

を、それを実行しない、Pycharmから直接アプリケーションを実行していた

@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

これらのファイルにアクセスする権限が許可されていますか?また、それはWebアプリケーションだと言いますが、コマンドラインからWebアプリケーションを実行します。 – Lewis

答えて

0

です私。

1

「pycharmで直接実行する」アプリケーションは、コマンドプロンプトで実行するのと同じですが、いくつかの注意点があります。 私はpycharmでpythonを実行しているとエラーが発生する可能性があるので、私は個人的にpythonを実行したくありません。

管理者として実行したくないのが理想的ですが、ウィンドウに関してはいくつか問題があることがあります。まず、アクセス拒否はファイルからであり、アプリケーションをポート80にバインドしようとしているからではありません(ポート80を引き継ぐSkypeなどのWindowsでバインドしようとするとその他の問題が発生する)

がmkdirによって引き起こされている場合は、作成したフォルダだけでなく、親フォルダに対するアクセス権を持っていることを確認してください。あなたは管理者として実行することに慎重にするのが正しいです。一般的に言えば、サービスごとにユーザーを作成して実行する必要がありますが、開発時には痛みを感じることがあります(uwsgiなどのPythonプロセスマネージャとして動作させたい「プロダクション」でも)。

あなたが実行している場所 - デスクトップフォルダから実行している場合、アプリケーションに奇妙なアクセス権の問題があるかもしれないことに気付いていますが、何らかの種類のユーザ「ワークベンチ」フォルダ。

関連する問題