簡體   English   中英

從二進制數據獲取文件路徑

[英]Get File path from binary data

是否可以從二進制數據獲取文件的路徑?

我只有來自讀取文件的二進制數據,但是沒有文件路徑的信息。

二進制數據是否具有路徑信息? 如果是,那我該怎么辦。

我需要使用python xlrd lib讀取xlsx文件,這需要文件路徑,但是我只有二進制數據。

誰能闡明它?

我之前做過這樣的事情,

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)
    ....

然后,您可以進行處理。

通常,無法僅從文件的內容中檢索文件的路徑。 可能存在可能的文件格式,但是通常情況下是沒有辦法的。

但是,如果只需要文件路徑將文件饋入程序的其他部分,則還有另一種方法:只需將二進制數據轉儲到任何文件(或臨時文件)中,然后使用該文件的路徑即可。

如果你是從一個流獲取的二進制數據,那么就得到該文件路徑沒有辦法。

如果考慮一下,數據也可能是通過stdin或通過網絡套接字傳送的,因此沒有文件路徑與之關聯。

一種可能的方法是操縱程序以將文件路徑信息與二進制流一起附加。 如果您可以發布程序代碼,則可以通過這種方法提供更多幫助。

我不認為您在做什么。 如果數據庫中有二進制數據,則使用python StringIO包創建一個緩沖區,然后將二進制文件加載到緩沖區中。 然后做你想做的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM