我无法分析上传到我服务器的文件。理想情况下,用户会上传一个.csv,我会从文件中的数据运行一些数字集成(因此import numpy as np
)并返回结果。为了在进行任何分析之前测试cgi部分,我在下面制作了python脚本。我的问题是消息总是显示为空白,所以我得到一个空白的html页面,最后显示在浏览器中。
显然我没有正确阅读文件(这意味着我无法分析它),但我不知道我做错了什么。我自己的搜索表明我下面的内容应该有用。
#!/usr/bin/python
#---------------------------------------------
#=============================================
#---------------------------------------------
#imports
#import csv
#import time as tm
#import numpy as np
#import os
import cgi, cgitb
cgitb.enable()
form = cgi.FieldStorage()
#The variables
#httpopen=""
#httpclose=""
message="meow"
#get the fileitem
fileitem=form['userfile']
if fileitem.file:
#yay...we got a file
message=fileitem.file.readline()
print """\
Content-Type: text/html\n
<html><body>
<p>%s</p>
</body></html>
""" % (message,)
以下是提供上传的html表单:
<html>
<body>
<form enctype="multipart/form-data"
action="capacity_rewrite.py" method="post">
<p>File: <input type="file" name="userfile" /></p>
<p><input type="submit" value="Upload" /></p>
</form>
</body>
</html>
谢谢,
答案 0 :(得分:2)
您只是从上传的文件中读取一行。或许第一行是一个空白行?请尝试使用fileitem.file.read()
,这会将整个文件读入字符串。不要为大文件执行此操作,因为内存可能会耗尽,但它应该有助于理解您的测试。