在带有 python 的文本文件的每一行末尾添加一个特定的字符串(在这种情况下为“\\\hline”以在乳胶中准备 table)
Add a particular string (in that case "\\\hline" to prepare a table in latex) at the end of each line of a text file with python
我想在文本文件的每一行末尾添加一个特定的字符串(在这种情况下,“\\hline”在乳胶中准备 table)
a_file = open("sample.txt", "r")
list_of_lines = a_file.readlines()
for line in range(0, len(list_of_lines)):
list_of_lines[line] = list_of_lines[line] + r' \\line'
a_file = open("sample2.txt", "w")
a_file.writelines(list_of_lines)
a_file.close()
这里是sample.txt
:
line1
line2
line3
这是输出:
l1
\\linel2
\\linel3
\\line%
我想要的是:
l1 \\line
l2 \\line
l3 \\line
尝试list_of_lines[line].rstrip()
。似乎在您的输出中附加了行尾字符。
问题是您没有删除行尾的换行符 '\n'
。
第一行实际上是这样的:'line1\n'
。当您添加字符串时,结果是 'line1\n \\line'
,它在 '\n'
的位置显示一个换行符。所以你首先需要去除换行符,然后再次添加你的字符串和换行符。
此外,我建议使用上下文管理器 (with
) 打开文件,这比手动打开和关闭文件安全得多,被认为是最佳做法。
with open('sample.txt') as file:
list_of_lines = file.readlines()
for i in range(len(list_of_lines)):
list_of_lines[i] = list_of_lines[i].rstrip() + r'\\line' + '\n'
with open('sample2.txt', 'w') as file:
file.writelines(list_of_lines)
我想在文本文件的每一行末尾添加一个特定的字符串(在这种情况下,“\\hline”在乳胶中准备 table)
a_file = open("sample.txt", "r")
list_of_lines = a_file.readlines()
for line in range(0, len(list_of_lines)):
list_of_lines[line] = list_of_lines[line] + r' \\line'
a_file = open("sample2.txt", "w")
a_file.writelines(list_of_lines)
a_file.close()
这里是sample.txt
:
line1
line2
line3
这是输出:
l1
\\linel2
\\linel3
\\line%
我想要的是:
l1 \\line
l2 \\line
l3 \\line
尝试list_of_lines[line].rstrip()
。似乎在您的输出中附加了行尾字符。
问题是您没有删除行尾的换行符 '\n'
。
第一行实际上是这样的:'line1\n'
。当您添加字符串时,结果是 'line1\n \\line'
,它在 '\n'
的位置显示一个换行符。所以你首先需要去除换行符,然后再次添加你的字符串和换行符。
此外,我建议使用上下文管理器 (with
) 打开文件,这比手动打开和关闭文件安全得多,被认为是最佳做法。
with open('sample.txt') as file:
list_of_lines = file.readlines()
for i in range(len(list_of_lines)):
list_of_lines[i] = list_of_lines[i].rstrip() + r'\\line' + '\n'
with open('sample2.txt', 'w') as file:
file.writelines(list_of_lines)