私は、pdfsのシステムのデフォルトアプリケーションでPythonスクリプトで開きたいpdfファイルがあるとします。PyMongoのGridFSでファイルのGridOutインスタンスを開くにはどうすればよいですか?
まず、それが通常のファイルシステムに保存されます場合、私は単にこのようにそれを開くでしょう:
import os
os.system('Open /Users/Doe/Documents/mypdf.pdf')
第二に、私はGridFSでPDFファイルを保存したい場合は、私のようなGridFSに書き込むことができます、
myfile = fs.get(oid)
しかし、私は最後のステップを行うことができますどのように:これは:
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)
私は、このようなファイルを読み込むことができますつまり、システムのpdfsのデフォルトアプリケーションで、どのようにpdfファイルを開くことができますか?
EDIT:
今、私は一時ファイルに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)の質問* –