如何解决使用循环中的字符串从Python编译Latex文件
我正在创建大量带有问题的数学测试,这些问题会生成随机数,并且我希望能够保存多个副本,将它们推送到乳胶中,然后将它们全部保存在一个python代码中。我知道python os.system命令和subprocess.run命令可以做到这一点,但是由于迭代,我无法弄清楚如何将文件放入命令中。我目前正在尝试使用字符串来完成此任务。
for i in range(1,11):
f = open("test_" + str(i).zfill(2) + ".tex",'w+')
##### run test building code here ######
f.close()
#subprocess.run("pdflatex f.name") #<--- How do I get this to run for each of the 10 files
我可以使用实际的文件名运行它,所以我知道这并不难,但是我似乎无法弄清楚如何传递字符串文件名。
解决方法
请事先构建名称,使用f字符串将其传递(假设您使用的是Python 3.6+,否则请参见here)。请注意,字符串前面的f
与文件f
无关。
for i in range(1,11):
file_path = "test_" + str(i).zfill(2) + ".tex"
f = open(file_path,'w+')
#####
f.close()
subprocess.run(f"pdflatex {file_path}")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。