9

私はこのようにpdftkを使用しています

pdftk template.pdf fill_form /temp/input.fdf output /temp/output.pdf

これで問題なく動作しています

しかし、これで /temp/input.fdf の代わりに一時ファイルを生成しました

myfile = tempfile.NamedTemporaryFile()
myfile.write(fdf)
myfile.seek(0)
myfile.close()

myfile を pdftk への入力として渡す方法がわかりません

4

2 に答える 2

13

myfile.nameファイルパスを取得します。

tempfileの後に s が存在しないことに注意してくださいclose()。ドキュメントから:

 tempfile.TemporaryFile([mode='w+b'[, bufsize=-1[, suffix=''[, 
    prefix='tmp'[, dir=None]]]]])

一時記憶域として使用できるファイルのようなオブジェクトを返します。ファイルは mkstemp() を使用して作成されます。オブジェクトが閉じられるとすぐに破棄されます (オブジェクトがガベージ コレクションされるときの暗黙的な閉じを含みます)。Unix では、ファイルのディレクトリ エントリは、ファイルが作成された直後に削除されます。他のプラットフォームはこれをサポートしていません。コードは、この関数を使用して作成された一時ファイルに依存してはなりません。ファイル システムに名前が表示されているかどうかはわかりません。

ソース: http://docs.python.org/2/library/tempfile.html

于 2012-12-05T06:18:40.720 に答える
8

を使用して名前を取得できませんか

myfile = tempfile.NamedTemporaryFile()
myfile.write(fdf)
myfile.seek(0)
myfile.close()
print(myfile.name)
于 2012-12-05T06:12:14.487 に答える