Ich halte mich für Anfänger bei Python.Ich schreibe gerade Code und es funktioniert einwandfrei. Das Problem ist, dass eine große Anzahl von Aufrufen der Unterprozessbibliothek verwendet wird, um Linux Bash-Befehle einzubetten. So konnte ich einen 1000 Zeilen Code auf 80 Zeilen umschreiben. Hier einige meiner Code:Ist es angemessen, Code mit vielen Aufrufen zu Subprozess-Bibliothek von Python zu schreiben
if not OCRized(a):
p0=subprocess.check_call(["pdftk",a,"burst"])
print "splitting Pdf was successful........."
for i in range(len(pdf.pages)):
if (i>8):
nameBurst="pg_00"+str(i+1)+".pdf"
else:
nameBurst="pg_000"+str(i+1)+".pdf"
nameJPG="converted-"+str(i)+".jpg"
p1=subprocess.check_call(["convert","-density","300",nameBurst,"-depth","8",nameJPG])
print "Conversion to jpg was successful....."
nameHocr="converted-"+str(i)
p=subprocess.check_call(["tesseract",nameJPG,nameHocr,"-l","eng","hocr"])
print "tesseract did the job for the ",str(i+1),"page"
name2="page"+str(i)+".pdf"
p2=subprocess.check_call(["bash","-c","hocr-pdf .> reconstructed.pdf "])
print " Reconstruction is complete"
else:
p=subprocess.check_call(["tesseract",'1.png','f1',"-l","eng"])
Also, welche Probleme können könnte dieser Ansatz generieren? (Der Code funktioniert, aber ich bin immer noch nicht überzeugt)
Wenn der größte Teil Ihres Skripts bash aufruft, könnte es an der Zeit sein, darüber nachzudenken, das Ganze in bash zu schreiben. – zondo
Ich dachte darüber nach, aber ich brauche eine Menge von Python Functionalities especillay Aufrufe an bestimmte APIs –