Python 从cgi.FieldStorage实例读取文本
我正在尝试读取通过多部分POST上传的以制表符分隔的文本文件。我使用Python/Webapp2/Jinja2在googleappengine上运行这段代码 我在下面指出的行中得到了这个错误:AttributeError:two下划线Exit two下划线 你能告诉我我做错了什么,以及如何让这一切顺利进行吗?谢谢Python 从cgi.FieldStorage实例读取文本,python,google-app-engine,csv,cgi,Python,Google App Engine,Csv,Cgi,我正在尝试读取通过多部分POST上传的以制表符分隔的文本文件。我使用Python/Webapp2/Jinja2在googleappengine上运行这段代码 我在下面指出的行中得到了这个错误:AttributeError:two下划线Exit two下划线 你能告诉我我做错了什么,以及如何让这一切顺利进行吗?谢谢 class FileReader(webapp2.RequestHandler): def post(self): field_storage = self.request
class FileReader(webapp2.RequestHandler):
def post(self):
field_storage = self.request.POST.get("file", None)
if isinstance(field_storage.file, cgi.FieldStorage):
with field_storage as csvfile: ## This line causes an error "AttributeError: __exit__"
reader = csv.reader(csvfile, dialect=csv.excel_tab)
for row in reader:
...
field_storage.file是一个StringIO对象。不需要打开它,因为它已经是一个打开的文件对象 因此,请跳过以下步骤:
reader = csv.reader(field_storage.file, dialect=csv.excel_tab)
行reader=csv.readercsvfile,方言=csv.excel_选项卡应该缩进,如果要使用该文件,后面的所有内容都应该缩进。你的压痕是偶然的吗?