基本的に、私はPythonに少し慣れていません。私はサーバーを作成し、それを正常に稼働させ、ファイルとすべてを表示させました。
しかし、問題は、読み取り/書き込みのためにPythonでファイルを開こうとするたびに、端末が「アクセス拒否」エラーをスローすることです。
ご存知のとおり、これは基本的なサーバーです。
#!/usr/bin/env python
import BaseHTTPServer
import CGIHTTPServer
import cgitb
cgitb.enable();
server = BaseHTTPServer.HTTPServer;
handler = CGIHTTPServer.CGIHTTPRequestHandler;
address = ("",80);
handler.cgi_directories = ["/home"];
httpd = server(address,handler);
print("Working . . . ");
httpd.serve_forever();
派手すぎるものはありません。サーバーを起動し、ユーザーがコードを含むページ「/home/file.py」に移動すると、次のようになります。
#!/usr/bin/env python
f = open("asdf.txt","w");
何も起こらず、サーバーを実行している端末を確認すると、
localhost - - [27/Aug/2012 17:58:18] "GET /home/file.py HTTP/1.1" 200 -
Traceback (most recent call last):
File "/home/SERVER/home/file.py", line 4, in <module>
f = open("asdf.txt","w");
IOError: [Errno 13] Permission denied: 'asdf.txt'
私はしばらくの間これを調べてきましたが、まだ解決策を見つけていません。これはおそらく、プロの Python ユーザーが顔をそむける非常に単純なソリューションですが、すべての独学プログラマーはどこかから始めなければならないことを考慮してください。そして私にとっては、少なくとも Python の用語では、今は少し底辺にいます。
「os」をインポートし、それを使用してファイルを作成する正確な場所を指定するなど、インターネットから(および「すでに回答があるかもしれない質問」から)見つけたいくつかのソリューションを試しました。SERVERフォルダーとPythonスクリプトを含むフォルダーで「sudo chmod g + w」を使用してみました。しかし、これらのインターウェブ ソリューションはどれも役に立ちません。
また、答えを受け入れることを忘れないでください。
私は質問をできるだけ正確にしようとしました。そのため、他に知っておく必要があることがあれば、更新することができます。
これは「許可が拒否されました」というエラーなので、Python のせいではないかと疑っています。しかし、私は彼らがどこにいるのかわかりません。