2014-10-07 5 views
-1

Я хочу преобразовать файл PDF в TXT-файл в сценарий bash.Как запустить команду bash в скрипте Python?

pdf2txt.py -o otuput.txt input.pdf

это команда для выполнения задачи для одного файла. Но для большого набора файлов я пытаюсь сделать следующее.

#!/bin/bash 
cd /home/z..../P...../file/pdf 

python << END 

import os 
file_lst = os.listdir(r'/home/z..../P...../file/pdf') 

out_file_lst = [] 
l = len(file_lst) 

for i in file_lst: 
    out_file_lst.append(file_lst[0].split('.')[0] + '.txt') 

for i in range(l): 
    pdf2txt.py -o out_file_lst[i] file_lst[i] 
    # How to run this bash command inside of python ? 

END 
+0

Это был дан ответ ранее. См. Например, http://stackoverflow.com/questions/4256107/running-bash-commands-in-python или http://stackoverflow.com/questions/20415522/running-a-bash-script-from-python –

+0

Спасибо за ваше предложение, но это не я ищу. –

+0

Почему вы делаете это скриптом 'bash' в первую очередь? У вас есть скрипт Python, и только команда 'bash' (' cd ... ') может быть перемещена в скрипт Python в любом случае с помощью' os.chdir'. В качестве альтернативы, сделайте все это скриптом 'bash', не используя Python. Подобные переменные языки не имеют никакой цели. – chepner

ответ

3

Вы можете создать сценарий bin/bash, который преобразует все файлы PDF в ваш каталог в txt-файлах.

#!/bin/bash 
for file in *.pdf; 
do pdftotext "$file" "$file.txt"; 
done 
+1

кроме вывода заканчивается как 'somefile.pdf.txt'. – tdelaney

0

Я настоятельно рекомендую subprocess lib.

Например:

return_code = subprocess.call(['ls', '-l']) 
Смежные вопросы