J'essaye de créer un programme qui compresse des fichiers pdf situés dans des dossiers des sousdossiers,etc en uttilisant ghostscript. Or je souhaite que une fois le fichier compressé, ce dernier soit supprimé j'ai essayé plusieurs méthodes mais aucune ne marche
from __future__ import print_function
import os
import subprocess
def compression():
for dirpath, dirs, files in os.walk('.'):
for filename in files:
fname = os.path.join(dirpath,filename)
if fname.endswith('.pdf'):
print(f"{'-'*50}\npath:{dirpath}\nfichier_avant :{filename}") # juste pour le debug
arg1= os.path.splitext(fname)[0] + '_.pdf' # rajoute un '_' avant le .pdf pour montrer que ce denrier est compréssé
p = subprocess.Popen(['/usr/bin/gs', '-sDEVICE=pdfwrite', '-dCompatibilityLevel=1.4', '-dPDFSETTINGS=/default', '-dNOPAUSE', '-dBATCH', '-dQUIET',f'-sOutputFile={arg1}', fname])
Donc là tout fonctionne, or si je rajoute:
from __future__ import print_function
import os
import subprocess
def compression():
for dirpath, dirs, files in os.walk('.'):
for filename in files:
fname = os.path.join(dirpath,filename)
if fname.endswith('.pdf'):
print(f"{'-'*50}\npath:{dirpath}\nfichier_avant :{filename}")
arg1= os.path.splitext(fname)[0] + '_.pdf'
p = subprocess.Popen(['/usr/bin/gs', '-sDEVICE=pdfwrite', '-dCompatibilityLevel=1.4', '-dPDFSETTINGS=/default', '-dNOPAUSE', '-dBATCH', '-dQUIET',f'-sOutputFile={arg1}', fname])
if os.path.exists(fname):
os.remove(fname)
else:
print(0)
Rien ne fonctionne :/ c'est à dire que les fichiers compressés sont vide