Je veux générer la ligne suivante (s)entrée Concaténation deux fichiers différents dans un fichier séparé
1 & {\QPCSymbols\XeTeXglyph 2} & \textarabic{الحمدلله} & \texttt{!} & \verb$\XeTeXglyph 2$ \\
\hline
Disons que le premier numéro est n
et le second est n+1
, le contenu de \textarabic
est obtenu à partir de f_nusoos
et le contenu de \texttt
de f_keys
. Les deux fichiers ont le même nombre de lignes.
J'ai créé un script Python3 qui devrait me donner ce que je veux mais je me retrouve avec de nouveaux symboles de ligne (\n
).
Voici ce que j'ai jusqu'à présent,
#! python3
import linecache
f_nusoos = 'symbol_nass_list.txt'
f_keys = 'symbol_key_list.txt'
contentfile = open('content.tex', 'w+', encoding="utf-8")
theLine = " "
for x in range(3):
contentfile.write('{} & {{\QPCSymbols\XeTeXglyph {}}} & \\textarabic{{{}}} & \\texttt{{{}}} & \\verb$\XeTeXglyph {}$ \\\\'.format(x+1, x+2,linecache.getline(f_nusoos, x+1).rstrip('\n'), linecache.getline(f_keys, x+1), x+2).rstrip('\n'))
contentfile.write('\hline')
Le contenu de content.tex
après l'exécution est,
1 & {\QPCSymbols\XeTeXglyph 2} & \textarabic{بسم الله الرحمن الرحيم} & \texttt{!
} & \verb$\XeTeXglyph 2$ \\\hline2 & {\QPCSymbols\XeTeXglyph 3} & \textarabic{بسم الله الرحمن الرحيم} & \texttt{"
} & \verb$\XeTeXglyph 3$ \\\hline3 & {\QPCSymbols\XeTeXglyph 4} & \textarabic{بسم الله الرحمن الرحيم} & \texttt{#
} & \verb$\XeTeXglyph 4$ \\\hline
Mon attente, cependant,
1 & {\QPCSymbols\XeTeXglyph 2} & \textarabic{بسم الله الرحمن الرحيم} & \texttt{!} & \verb$\XeTeXglyph 2$\\
\hline
2 & {\QPCSymbols\XeTeXglyph 3} & \textarabic{بسم الله الرحمن الرحيم} & \texttt{"} & \verb$\XeTeXglyph 3$\\
\hline
3 & {\QPCSymbols\XeTeXglyph 4} & \textarabic{بسم الله الرحمن الرحيم} & \texttt{#} & \verb$\XeTeXglyph 4$\\
\hline
Le problème semble être une nouvelle ligne insérée après texttt{CONTENT
. Je ne sais pas pourquoi c'est.
Contenu de f_nusoos.txt
:
بسم الله الرحمن الرحيم
بسم الله الرحمن الرحيم
بسم الله الرحمن الرحيم
Contenu de f_keys.txt
:
!
"
#
Se pourrait-il que le caractère de fin de ligne ne soit pas '\ n', mais' \ r \ n' (Windows) ou '\ r' (MacOS)? Cela expliquerait pourquoi 'rstrip ('\ n')' ne fonctionne pas. Peut-être que 'rstrip()' sans paramètre est suffisant. –