(74) WEBブラウザ経由でPythonスクリプトを実行#2

投稿者: | 2016年11月8日

6,404 views

この記事は最終更新から 1325日 が経過しています。

(73) WEBブラウザ経由でPythonスクリプトを実行 を改造し、PHP経由ではなく CGIとしてPythonを実行してみる。機能自体は(73)とまったく同じ。

index.cgi

#!/usr/local/bin/python
# -*- coding: utf-8 -*-

print 'Content-type: text/html'

import cgi
import csv_calc

print """
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>サンプル</title>
</head>
<body>
"""

form = cgi.FieldStorage()

if form.has_key('upfile'):
	filename = form['upfile'].filename
	cmd      = int(form['cmd'].value)
	ret = csv_calc.sum_csv( filename, cmd )
	print ret

print """
<hr />
<form enctype="multipart/form-data" action="./" method=post>
<input type="file" name="upfile"><br />
<select name="cmd">
  <option value="1">合計値</option>
  <option value="2">平均値</option>
  <option value="3">最大値</option>
  <option value="4">最小値</option>
</select>
<input type="submit" value="計算実行">
</form>
</body>
</html>
"""

csv_calc.py

import numpy as np

def sum_csv( fpath_csv, cmd ):
    data = np.loadtxt( fpath_csv, delimiter=',' )
    if cmd == 1:
        ret = data.sum()
    elif cmd == 2:
        ret = data.mean()
    elif cmd == 3:
        ret = data.max()
    elif cmd == 4:
        ret = data.min()
    else:
        print "invalid command"
        ret = 0
    return ret

カテゴリー: WEB

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です