Comment je peux créer un nouveau dossier
masal
-
Phil_1857 Messages postés 1956 Statut Membre -
Phil_1857 Messages postés 1956 Statut Membre -
Bonjour,
J'ai un programme python qui modifie automatiquement les champs d'un modèle latex et je souhaite créer automatiquement un nouveau dossier pour ces documents générer par python .
Configuration: Windows / Chrome 102.0.5005.63
J'ai un programme python qui modifie automatiquement les champs d'un modèle latex et je souhaite créer automatiquement un nouveau dossier pour ces documents générer par python .
i mport os, subprocess, re
# Find occurrences of {{item}}
def find_occurrences(template_tex):
# Open template.tex
with open(template_tex, "r") as f:
filedata = f.read()
return set(re.findall("\#(.*?)\#", filedata))
# Replacing fields
def prompt_replacements(occurrences):
replacements = dict()
for occurrence in occurrences:
replaceby = input("Replace " + occurrence + " by: " )
replacements[occurrence] = replaceby
return replacements
# Write results
def make_replaced_latex(template_tex, result_tex, replacements):
with open(template_tex, "r") as f:
filedata = f.read()
for (occurrence, replaceby) in replacements.items():
filedata = filedata.replace("#" + occurrence + "#", replaceby)
with open(result_tex, "w") as f:
f.write(filedata)
# Convert result.tex to result.pdf
def compile_latex(result_tex):
proc = subprocess.Popen(["pdflatex", "-interaction=nonstopmode", result_tex])
proc.communicate()
#clean unnecessary files
def clean_latex_temporary_files(result_tex):
filename_wext = result_tex[:result_tex.rfind(".")]
for ext in ["tex", "aux", "log"]:
print("rm", filename_wext + "." + ext) # DEBUG
os.remove(filename_wext + "." + ext)
def main():
map_template_result = {
"MQ.tex" : "MQ1.tex",
"PRS_DIR_GER_v00.tex" : "PRS_DIR_GER1_v00.tex",
}
occurrences = set()
for template_tex in map_template_result.keys():
occurrences |= find_occurrences(template_tex)
replacements = prompt_replacements(occurrences)
for (template_tex, result_tex) in map_template_result.items():
make_replaced_latex(template_tex, result_tex, replacements)
compile_latex(result_tex)
compile_latex(result_tex)
clean_latex_temporary_files(result_tex)
Configuration: Windows / Chrome 102.0.5005.63
A voir également:
- Comment je peux créer un nouveau dossier
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Comment creer un nouveau compte gmail - Guide
- Créer un lien pour partager des photos - Guide
- Dossier appdata - Guide