使用python在文本文件的每一行末尾添加一个特定的字符串(在这种情况下为“\\\hline”以准备一个乳胶表)

Posted

技术标签:

【中文标题】使用python在文本文件的每一行末尾添加一个特定的字符串(在这种情况下为“\\\\\\hline”以准备一个乳胶表)【英文标题】: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使用python在文本文件的每一行末尾添加一个特定的字符串(在这种情况下为“\\\hline”以准备一个乳胶表) 【发布时间】:2022-01-13 04:54:09 【问题描述】:

我想在文本文件的每一行的末尾添加一个特定的字符串(在这种情况下是“\\hline”以在乳胶中准备一个表格)

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

【问题讨论】:

【参考方案1】:

问题是您没有删除行尾的换行符'\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)

【讨论】:

【参考方案2】:

试试list_of_lines[line].rstrip()。您的输出中似乎附加了行尾字符。

【讨论】:

以上是关于使用python在文本文件的每一行末尾添加一个特定的字符串(在这种情况下为“\\\hline”以准备一个乳胶表)的主要内容,如果未能解决你的问题,请参考以下文章

如何在除最后一行之外的每一行末尾添加逗号?

将分隔符添加到 csv 文件 MATLAB 的每一行的末尾

用linux c语言编写 为一个文件里面的内容的每一行添加一个指定的字符

在 Notepad++ 的每一行末尾添加一个字符 )

如何在 Vim 的每一行末尾添加一个字符串?

如何在数据框中的每一行的末尾添加 ****?