質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

417閲覧

python webサーバでのプログラム実行について

naokiscottie

総合スコア11

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/04/20 14:41

コマンドプロンプトでpy -m http.server --cgi 8080を入力することによってweb
サーバが起動しました。
以下のようなpythonコードをこのサーバ上で実行しようとしているのですが、
#!/usr/bin/env python

print("Content-Type: text/html: charset=utf-8")
print("")
print("<html><head><meta charset='utf-8'></head><body>")
print("聞くことに早く")
print("</body></html>")

参考書ではこのプログラムを実行するには、cgi-binというフォルダに配置するようにとのことです。
+webアプリディレクトリ
-<cgi-bin>
-ファイル名.py
上記の場所にファイルを格納するようにとのことです。
参考書にはwebアプリディレクトリはどこに配置してもいい?とのことですが、結局どこにcgi-binという名前のフォルダを作ってpythonのファイルを格納すればよいのかわからないです。

実際にとりあえずな場所にフォルダ作って、ブラウザでhttps://localhost:8080/cgi-bin/ファイル名.pyを開いてみたのですが、エラーです。
参考書によれば、これでプログラムが実行されるようですが・・・

参考書に書いてあるのは、コマンドラインで$ chmod +x cgi-bin/ファイル名.pyを実行するとなていましたが、これはLinux/OSのものなので、私が実行しているのはwindowsなので、実際はどうすればいいのかわからないです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rtazaki

2021/04/20 15:25

今回例示されたcgiの中身について、markdownを使用してもう少し丁寧に記載していただきたいです。
naokiscottie

2021/04/20 23:39

質問ありがとうございます。問題点は解決しましたので、これで大丈夫です。 ありがとうございます。
guest

回答2

0

参考書の通りにいかないときは、公式を辿ると良いですよ。

https://docs.python.org/ja/3/library/cgi.html
を写経してみてください。

test.pyというファイルをとりあえず、以下のような配置で置きます。

path

1py -m http.server --cgi 8080を実行したフォルダ 2├─cgi-bin 3│ test.py

test.pyは以下の通りです。

python

1print("Content-Type: text/html") # HTML is following 2print() # blank line, end of headers 3print("<TITLE>CGI script output</TITLE>") 4print("<H1>This is my first CGI script</H1>") 5print("Hello, world!")

うまくいかないのは、OSによるものなのか、ファイルの配置なのか、それともhttp.serverの使い方なのか、
とかく最初は悩みどころが多いとは思いますが、一つずつ理解を深めていってください。

投稿2021/04/20 15:22

rtazaki

総合スコア69

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

naokiscottie

2021/04/20 23:37

テストprogramも教えて下さってありがとうございました。 一応、おかげさまで解決致しました。
guest

0

自己解決

すいません。解決致しました。
サーバーを起動している場所がwebアプリディレクトリでその階層から追っていくという意味でした。

投稿2021/04/20 14:54

naokiscottie

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問