gpt4 book ai didi

python - 读取多元素列表,查找元素并在 python 中打印出来

转载 作者:行者123 更新时间:2023-12-01 06:09:57 24 4
gpt4 key购买 nike

我正在编写一个Python脚本来编写一个tex文件。但我必须使用另一个文件中的一些信息。这样的文件在每一行都有我需要使用的菜单名称。我使用 split 来为“菜单”的每一行提供一个列表。例如,我必须用列表中的每个第二个元素编写一个部分,但运行后,我得到了任何东西,我能做什么?

这大致就是我正在做的事情:

    texfile = open(outputtex.tex', 'w')
infile = open(txtfile.txt, 'r')
for line in infile.readlines():
linesplit = line.split('^')
for i in range(1,len(infile.readlines())):
texfile.write('\section{}\n'.format(linesplit[1]))
texfile.write('\\begin{figure*}[h!]\n')
texfile.write('\centering\n')
texfile.write('\includegraphics[scale=0.95]{pg_000%i.pdf}\n' %i)
texfile.write('\end{figure*}\n')
texfile.write('\\newpage\n')
texfile.write('\end{document}')
texfile.close()

顺便说一下,在 inclugraphics 行中,我必须将 pg_ 之后的数字从“0001”增加到“25050”。有什么线索吗??

非常感谢您的帮助。

最佳答案

我不太明白你的问题。但我在您的代码中看到了几个错误。最重要的是:

    for line in infile.readlines():
...
...
for i in range(1,len(infile.readlines())):

一旦你读取了一个文件,它就消失了。 (你可以取回它,但在这种情况下没有意义。)这意味着第二次调用 readlines没有产生任何结果,所以len(infile.readlines()) == 0 。假设您在这里写的确实是您想要做的(即写 file_len * (file_len - 1) + 1 行?)那么也许您应该将该文件保存到列表中。另外,您没有在文件名周围加上引号,并且您的缩进很奇怪。试试这个:

with open('txtfile.txt', 'r') as infile:    # (with automatically closes infile)
in_lines = infile.readlines()
in_len = len(in_lines)

texfile = open('outputtex.tex', 'w')
for line in in_lines:
linesplit = line.split('^')
for i in range(1, in_len):
texfile.write('\section{}\n'.format(linesplit[1]))
texfile.write('\\begin{figure*}[h!]\n')
texfile.write('\centering\n')
texfile.write('\includegraphics[scale=0.95]{pg_000%i.pdf}\n' %i)
texfile.write('\end{figure*}\n')
texfile.write('\\newpage\n')
texfile.write('\end{document}')
texfile.close()
<小时/>

也许您实际上并不想要嵌套循环?

infile = open('txtfile.txt', 'r')
texfile = open('outputtex.tex', 'w')
for line_number, line in enumerate(infile):
linesplit = line.split('^')
texfile.write('\section{{{0}}}\n'.format(linesplit[1]))
texfile.write('\\begin{figure*}[h!]\n')
texfile.write('\centering\n')
texfile.write('\includegraphics[scale=0.95]{pg_000%i.pdf}\n' % line_number)
texfile.write('\end{figure*}\n')
texfile.write('\\newpage\n')
texfile.write('\end{document}')
texfile.close()
infile.close()

关于python - 读取多元素列表,查找元素并在 python 中打印出来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6399394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com