Ich ziehe das glob
Modul für Aufgaben wie das verwenden. Legen Sie dies in eine Datei doc2docx.py
. Um es ausführbar zu machen, setze chmod +x
. Und füge diese Datei optional in deine $PATH
ein, um sie "überall" verfügbar zu machen.
#!/usr/bin/env python
import glob
import subprocess
for doc in glob.iglob("*.doc"):
subprocess.call(['soffice', '--headless', '--convert-to', 'docx', doc])
Obwohl ideal Sie die Expansion selbst an die Shell verlassen würde, und doc2docx.py
mit den Dateien als Argumente nennen, wie doc2docx.py *.doc
:
#!/usr/bin/env python
import subprocess
import sys
if len(sys.argv) < 2:
sys.stderr.write("SYNOPSIS: %s file1 [file2] ...\n"%sys.argv[0])
for doc in sys.argv[1:]:
subprocess.call(['soffice', '--headless', '--convert-to', 'docx', doc])
Wie @pyd fordert, zu einem Ziel zur Ausgabe Verzeichnis myoutputdir
Verwendung:
#!/usr/bin/env python
import subprocess
import sys
if len(sys.argv) < 2:
sys.stderr.write("SYNOPSIS: %s file1 [file2] ...\n"%sys.argv[0])
for doc in sys.argv[1:]:
subprocess.call(['soffice', '--headless', '--convert-to', 'docx', '--outdir', 'myoutputdir', doc])
es hat nicht geholfen ... gab mir den gleichen Fehler –