Skip to main content
 首页 » 编程设计

python之使用 web.py 上传 Excel

2025年04月02日4398°冷暖

我通过稍微修改 documentation 中的示例尝试了以下代码

class Upload(): 
  def POST(self): 
    web.header('enctype','multipart/form-data') 
    print strftime("%Y-%m-%d %H:%M:%S", gmtime()) 
    x = web.input(file={}) 
    filedir = '/DiginUploads' # change this to the directory you want to store the file in. 
    if 'file' in x: # to check if the file-object is created 
        filepath=x.file.filename.replace('\\','/') # replaces the windows-style slashes with linux ones. 
        filename=filepath.split('/')[-1] # splits the and chooses the last part (the filename with extension) 
        fout = open(filedir +'/'+ filename,'w') # creates the file where the uploaded file should be stored 
        fout.write(x.file.file.read()) # writes the uploaded file to the newly created file. 
        fout.close() # closes the file, upload complete. 

但这仅适用于 csv 和 txt 文档。对于 Excel/pdf 等文件,已创建但无法打开(已损坏)。我应该怎么做才能处理这种情况?

我看到了this但它是关于打印的内容并没有解决我的问题。

请您参考如下方法:

打开文件时需要使用wb(二进制)模式:

fout = open(filedir +'/'+ filename, 'wb')