Python—如何将空格字符串(';';)添加到text/conf文件中每一行的末尾

Python—如何将空格字符串(';';)添加到text/conf文件中每一行的末尾,python,file,Python,File,我有一个配置文件,我想在文件的每一行末尾添加一个空格(“”) 文件示例: #xxx configuration IPaddr = 1.1.1.1<add a space here> host = a.b.c.d<add a space here> usrname = aaa<add a space here> dbSID = xxx<add a space here> #xxx配置 IPaddr=1.1.1.1 主机=a.b.c.d usrnam

我有一个配置文件,我想在文件的每一行末尾添加一个空格(“”)

文件示例:

#xxx configuration
IPaddr = 1.1.1.1<add a space here>
host = a.b.c.d<add a space here>
usrname = aaa<add a space here>
dbSID = xxx<add a space here>
#xxx配置
IPaddr=1.1.1.1
主机=a.b.c.d
usrname=aaa
dbSID=xxx
我已经有了文件中的行数(使用len),所以我知道 重复添加空格字符串的循环需要多长时间。 我还知道如何打开文件进行读写


谢谢大家。

您不需要知道文件的长度。在python文件中,是产生行的迭代器。循环不需要c样式

因此,类似这样的功能应该适合您(python3或来自uuu future_uuu导入打印功能)的


您不需要知道文件的长度。在python文件中,是产生行的迭代器。循环不需要c样式

因此,类似这样的功能应该适合您(python3或来自uuu future_uuu导入打印功能
)的

您可以与
inplace=True
一起使用来更新原始文件:

import fileinput
import sys
for line in fileinput.input("in.txt",inplace=True):
    sys.stdout.write("{} \n".format(line.rstrip()))
或与以下内容一起使用:

您可以与
inplace=True
一起使用来更新原始文件:

import fileinput
import sys
for line in fileinput.input("in.txt",inplace=True):
    sys.stdout.write("{} \n".format(line.rstrip()))
或与以下内容一起使用:

您可以使用“r”标志打开文件进行读取(在同一个文件上)

然后,对于文件中的每一行,在新行字符(“\n”)之前添加一个空格

最后,使用“w”标志打开文件进行写入,并使用writelines()函数写入更新的内容

with open('config.txt', 'r') as source:
    lines = [line.replace("\n"," \n") for line in source.readlines()]
with open("config.txt", "w") as target:
    target.writelines(lines)
请注意,我假设该文件是UNIX文件,因此在“\n”之前不包含“\r”字符,如果不是这样,第2行应该是:

    lines = [line.replace("\r\n"," \r\n") for line in source.readlines()]
您可以使用“r”标志打开文件进行读取(在同一个文件上)

然后,对于文件中的每一行,在新行字符(“\n”)之前添加一个空格

最后,使用“w”标志打开文件进行写入,并使用writelines()函数写入更新的内容

with open('config.txt', 'r') as source:
    lines = [line.replace("\n"," \n") for line in source.readlines()]
with open("config.txt", "w") as target:
    target.writelines(lines)
请注意,我假设该文件是UNIX文件,因此在“\n”之前不包含“\r”字符,如果不是这样,第2行应该是:

    lines = [line.replace("\r\n"," \r\n") for line in source.readlines()]

因为我不知道的是如何到达行尾,并在行尾添加/写入一个sting,通过在行尾添加这个空格,您到底想要实现什么?您使用的是哪种操作系统。如果您使用的是一些基于unix的系统,我建议您使用一些工具,如sed或awk,这对您来说非常容易。因为我不知道的是如何到达行尾并添加/写入一个sting到它。通过在行尾添加此空格,您到底想实现什么?您是哪种操作系统使用。如果您使用的是一些基于unix的系统,我建议您使用一些工具,如sed或awk,这对您来说非常容易。{使用open('x.txt')作为infle,open('x.txt','w')作为outfile:^SyntaxError:无效语法{您使用的是什么版本的Python?如果您被迫使用Python2.6,您可以使用
contextlib.nested
,因此上面的代码如下:
将嵌套(open('file.in')、open('file.out','w'))作为(infle,outfile):
{with open('x.txt')作为infle、open('x.txt','w'))as outfile:^SyntaxError:无效语法{您使用的是什么版本的Python?如果您被迫使用Python 2.6,您可以使用
contextlib.nested
,因此上面的内容看起来像:
带有嵌套(open('file.in')、open('file.out','w')as(infle,outfile):
我认为我的答案的负分是不公平的,因为我没有投票,但是只显示代码而没有任何解释的答案在堆栈溢出时被认为是低质量的,并且有时会因为这个原因被用户否决。你可能应该编辑你的答案并添加一些解释你的解决方案的文本。谢谢@ModusTollens的支持t、 我编辑了我的答案并添加了一个解释。我认为我的答案的负分是不公平的。我没有投票,但只显示代码而没有任何解释的答案在堆栈溢出时被认为是低质量的,并且有时会因此被用户否决。你可能应该编辑你的答案并添加一些解释你的解决方案的文本n、 感谢@ModusTollens的评论,我编辑了我的答案并添加了解释