3
比方說,我有一個pdf文件,我想在系統的pdf默認應用程序的Python腳本中打開。如何在PyMongo的GridFS中打開文件的GridOut實例?
首先,如果它保存在普通文件系統,我只想開這樣的:
import os
os.system('Open /Users/Doe/Documents/mypdf.pdf')
其次,如果我想存儲在一個GridFS的PDF文件,我可以寫像GridFS的這樣的:
from pymongo import Connection
from gridfs import GridFS
db = Connection().text_database
fs = GridFS(db)
with open('/Users/Doe/Documents/mypdf.pdf') as mypdf:
oid = fs.put(mypdf)
然後我就可以讀這樣的文件:
myfile = fs.get(oid)
但我怎麼能做到最後一步,也就是說,如何在系統的pdf默認應用程序中打開pdf文件?
編輯:
現在我寫的GridOut實例到一個臨時文件,然後打開該臨時文件。跳過寫入文件系統的額外步驟會很好。
import tempfile
temp_path = tempfile.mkdtemp()
with open(os.path.join(temp_path, myfile.filename), 'w') as f:
f.write(myfile.read())
os.system('open {}'.format(os.path.join(temp_path, myfile.filename)))
你有沒有發現別的東西? – Jeff
您是否找到解決此問題的解決方案? *提問者:[user3404455](http://stackoverflow.com/users/3404455/user3404455)* –