尝试将引号附加到列表中的每个项目。

时间:2018-01-30 01:28:52

标签: python python-3.x python-2.7

我正在尝试创建一个脚本,该脚本将在我的文本文件中包含每行中包含一个规则名称的每一行。我创建的第一个脚本工作(完成)但会删除文件中的所有内容。我一直在谷歌搜索过去一小时左右试图采取例子并自己应用它们但仍然失败。当前脚本如下。

with open('TDAppendlist.txt', 'w') as file:
    for line in file:
        s = ('""')
        seq = (file)
        s.join(seq)

with open('TDAppendlist.txt') as file:
    line = file.readlines()
    for line in file:
        line.join('"' + line + '"')

他们都没有工作。有人可以指点我正确的方向吗?谢谢大家的阅读。

2 个答案:

答案 0 :(得分:4)

首先,我们将文件的所有行读入列表,然后我们可以更改它们,最后将它们写回文件。

with open('TDAppendlist.txt') as file:
    lines = list(file)

with open('TDAppendlist.txt', 'w') as file:
    file.write('\n'.join(['"{}"'.format(line.rstrip('\n')) for line in lines]))

最后一行可以写得更清楚

lines = (line.rstrip('\n') for line in lines)
lines = ('"{}"'.format(line) for line in lines)
lines = '\n'.join(lines)
file.write(lines)

答案 1 :(得分:2)

这会产生一个输出文件TDAppendlist_out,就像输入一样,但引号周围有引号:

with open('TDAppendlist.txt', 'r') as f:
    with open('TDAppendlist_out.txt', 'w') as f_out:
        for line in f:
            f_out.write('\"{}\"'.format(line))

这样可以保持输入文件的完整性,如果您以后需要它,并且避免将输入文件中的所有内容一次性放入内存中。