Si vous exécutez pandoc
directement avec un minimum exemple pas de problème:subprocess.run ne fonctionne correctement pandoc
$ cat workfile.md
This is a **test** see ![alt text](https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png)
$ pandoc workfile.md
<p>This is a <strong>test</strong> see <img src="https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png" alt="alt text" /></p>
Mais si vous appelez via subprocess.run, il échoue. Cet exemple minimal:
import subprocess, os
path = 'workfile.md'
contents = "This is a **test** see ![alt text](https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png)"
with open(path, 'w') as f:
f.write(contents)
pbody = subprocess.run(["pandoc", "{}".format(path)], check=True, stdout=subprocess.PIPE)
print("**** pbody: ", pbody)
nous donne
**** pbody: CompletedProcess(args=['pandoc', 'workfile.md'], returncode=0, stdout=b'\n')
'' subprocess.run'' fait exactement ce que c'est documenté. '' subprocess.check_output'' semble être plus proche de ce que vous voulez faire. – jasonharper