2015-01-05 2 views
-1

Мне нужна помощь, у меня есть скрипт Python, который выполняет некоторую работу и печатает html-страницу. Мне нужно передать строку с этой выводной веб-страницы на этот скрипт. Возможно ли это? В будущем я хочу использовать радиокнопки, где пользователь будет толковать данные для печати из предварительно определенных. Спасибо за любые советы ...Пропустить строку из html в скрипт python

Мой код:

#!/usr/bin/env python 
# -*- coding: UTF-8 -*- 
# enable debugging 
import cgitb 
cgitb.enable() 
import subprocess 
import os 

print "Content-type: text/html\n\n"; 
web = """ 

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'> 
<html xmlns='http://www.w3.org/1999/xhtml'> 
<head> 

</head> 
<body> 
    <div id='wrapper'> 
     <div id='header'> 

     </div> 

     <div id='content'> 
      <div class='content'> 
       <div><h3>GRAPH</h3></div> 
       <br> 
       <div style='height:520px;width:1000px;overflow:scroll;overflow-x:auto;overflow-y:hidden;'> 
        <img src='http://localhost/steps.png' alt='image' /> 
       </div> 
       <br>  
       <button onclick="myFunction()">REFRESH</button> 
       <script> 
        function myFunction() { 
        location.reload(); 
        } 
       </script> 

       <br> 

       <form action='/cgi-bin/test.py' method='post'> 
        nazov suboru: <input type='text' data='data'> <br /> 
       <input type='submit' value='Submit' /> 
       </form> 


      </div> 
     </div> 
    </div>   
</body> 
</html> 
""" 

print web 
proc = subprocess.Popen(['gnuplot','-p'], 
         shell=True, 
         stdin=subprocess.PIPE, 
         ) 

proc.communicate(""" 
reset 
set terminal pngcairo enhanced size 3000,500 font 'Arial,11' rounded; 
set output '/opt/lampp/htdocs/%s.png' 

set datafile separator "|" 
plot \ 
\ 
'%s.txt' u 0:3 sm cs w l ls 1 t 'X-suradnice',\ 
'%s.txt' u 0:4 sm cs w l ls 2 t 'Y-suradnice',\ 
'%s.txt' u 0:5 sm cs w l ls 3 t 'Z-suradnice' 
"""%(data,data,data,data)) 
+0

Я действительно новичок в этом. Есть ли способ сделать это простым? Я имею в виду как-то сохранить строку, которую пользователь пишет ...? – eMZet

+0

@tdelaney, конечно, OP не спрашивает о выскабливании, но о том, как получить текстовое поле, представленное в скрипте CGI. –

ответ

0

Ваш вопрос довольно трудно понять, но я думаю, что вы пытаетесь выяснить, как получить доступ к параметру data, представленный формой POST , Вы можете сделать это с помощью модуля cgi:

import cgi 
form = cgi.FieldStorage() 
data = form.getvalue('data') 
+0

Это работает благодаря большому количеству ... – eMZet

Смежные вопросы