2017-05-17 8 views
1

私はブラウザで動作するhtmlコードを返すpythonスクリプトを持っています。 これはhtmlのちょうど<form>一部でPythonのコードです:htmlでロードされたアクセスファイル<form> pythonを使用

同じのpythonファイルに次の関数に送信され
def index(): 
    return html(" ") 


def html(woord): 
    return """ 
<form value ='form' action=http://www.cytosine.nl/~owe4_pg3/Rogier/DreamteamPy/page1.py/fileloader method="post"> 
    <p> 
    <LABEL for="sequence">Sequence: </LABEL> 
    <INPUT type="file" name="thefile"><BR> 
    <INPUT type="submit" value="Send"> <INPUT type="reset"> 
    </p>""" + woord+""" 
</form> 
""" 

def fileloader(req): 
    info = req.form 
    file = info["thefile"] 
    woord = "<br><br>The file has been loaded:<br>{}".format(file) 
    return html(woord) 

これが正常に動作して

が表示されます
The file has been loaded: 
testfile.doc 

ブラウザにあります。

しかし、ファイルに実際にアクセスして、たとえばその内容を印刷するにはどうすればよいですか?

def fileloader(req): 
    info = req.form 
    file = open(info["thefile"]) 
    text = file.read() 
    woord = "<br><br>The file has been loaded:<br>{}".format(text) 
    return html(woord) 

をしかし、私はopen()が、それは誤り

AttributeError: read 

答えて

0

に作業溶液与える削除した場合、それはエラー

IOError: [Errno 2] No such file or directory: Field('thefile','testfile.doc') 

を与える: 私が試した

<form value ='form' action=http://www.cytosine.nl/~owe4_pg3/Rogier/DreamteamPy/page1.py/fileloader method="post" enctype="multipart/form-data"> 
    <p> 
    <LABEL for="sequence">Sequence: </LABEL> 
    <INPUT type="file" name="thefile"><BR> 
    <INPUT type="submit" value="Send"> <INPUT type="reset"> 
    </p>""" + woord+""" 
def fileloader(req): 
    info = req.form["thefile"].file 
    #file = open(info["thefile"].file) 
    text = info.read() 
    woord = "<br><br>The file has been loaded:<br>{}".format(text) 
    return html(woord) 
関連する問題