是否有可能从二进制数据中获取文件的路径?
我只有读取文件的二进制数据,但是没有文件路径的信息。
二进制数据有路径信息吗?如果是的话,我怎样才能得到它。
我需要使用python lib读取xlsx文件,这需要文件路径,但我只有二进制数据。
有人能解释清楚吗?
发布于 2014-02-01 06:54:50
我以前也这样做过,
def read_file(self, cr, uid, ids, context=None):
if not context: context = {}
rec = self.browse(cr, uid, ids[0], context)
file_path = tempfile.gettempdir()+'/file.xlsx'
data = rec.file
f = open(file_path,'wb')
f.write(data.decode('base64'))
f.close()
wb = xlrd.open_workbook(file_path)
....
然后你就可以做你的过程了。
发布于 2014-01-30 14:05:08
通常,无法仅从文件的内容中检索文件的路径。可能存在这样的文件格式,但在一般情况下是不可能的。
但是,如果您只需要文件的路径将文件输入到程序的其他部分,那么还有另一种方法:将二进制数据转储到任何文件(或临时文件)中,并使用该文件的路径。
发布于 2014-01-30 13:50:45
如果您从流中获取二进制数据,那么就没有方法来获取文件路径。
如果您考虑一下,数据也可能通过stdin或网络套接字传递,因此没有与其关联的文件路径。
一种可能的方法是操纵程序,将文件路径信息与二进制流一起附加。如果您可以发布程序的代码,我们可以在这种方法中提供更多帮助。
https://stackoverflow.com/questions/21458155
复制相似问题