0

コマンドpdftotextを使用して、すべての.pdfファイルを特定のディレクトリから.txt形式に変換したい...しかし、Pythonスクリプトを使用してこれを行いたい...私のスクリプトには以下が含まれます:

import glob 
import os

fullPath = os.path.abspath("/home/eth1/Downloads")

for fileName in glob.glob(os.path.join(fullPath,'*.pdf')):
   fullFileName = os.path.join(fullPath, fileName)
   os.popen('pdftotext fullFileName')

しかし、私は次のエラーが発生しています:

Error: Couldn't open file 'fullFileName': No such file or directory.
4

2 に答える 2

3

fullFileName文字通り に渡していos.popenます。代わりに、次のようなことを行う必要があります (fullFileNameエスケープする必要がないことを前提としています)。

os.popen('pdftotext %s' % fullFileName)

またos.popen、非推奨と見なされることに注意してくださいsubprocess。代わりにモジュールを使用することをお勧めします。

import subprocess
retcode = subprocess.call(["/usr/bin/pdftotext", fullFileName])

また、スペースや特殊文字をfullFileName適切に処理するため、はるかに安全です。

于 2010-10-18T09:53:37.453 に答える
1

最後の行を次のように変更します

os.open('pdftotext {0}'.format(fullFileName))

このようにfullFileNameして、名前の代わりに の値が渡されます。

于 2010-10-18T09:54:21.273 に答える