не знаю, почему код os.system возвращает 1

Я не могу понять, почему мой код Python os.system возвращает 1.

import os
flist =  getFileList("C:/Users/Owner/Desktop/TM/reports")
a = flist[0].replace('.pdf', '.txt')
os.system("pdf2txt.py -o a flist[0]")

person Lesrois    schedule 05.07.2017    source источник


Ответы (1)


Я думаю ты имел ввиду

import os
flist =  getFileList("C:/Users/Owner/Desktop/TM/reports")
a = flist[0].replace('.pdf', '.txt')
# 1. os.system("pdf2txt.py -o a flist[0]") 
# 2. os.system("pdf2txt.py -o a " + "flist[0]")
os.system("pdf2txt.py -o " + a + " " + '"' + flist[0] + '"')

Различия между всеми тремя вариантами очень тонкие. В 1,2 python выполняет команду со строковым литералом flist[0] и другим параметром без комментариев со значением, содержащимся в flist[0]

person Skam    schedule 05.07.2017
comment
И даже больше, добавьте кавычки вокруг flist [0] - person ddbug; 05.07.2017
comment
Хорошая идея @ddbug! Отредактировано, чтобы добавить в ваш комментарий - person Skam; 05.07.2017
comment
Нет, я не хотел ломать рабочий код :)). Просто укажите имя файла в кавычках, если оно содержит пробелы. + '"'+flist[0] + '"' - person ddbug; 05.07.2017