Python:如何打开文件并注释特定行?

时间:2018-06-22 11:54:21

标签: python

是否可以打开文件(例如.py文件)并注释文件中已存在的特定行? 还是有一种方法可以创建一段用另一行替换该行的代码?

3 个答案:

答案 0 :(得分:1)

如何逐行读取文件,然后根据需要将行加上或不带注释添加到输出文件中。

例如,要在以字符串abc开头的每一行上添加注释,您可以这样做:

with open('in.txt', 'a') as outfile:
    with open('test.txt', 'r') as infile:
        for line in infile.readlines():
            if line.startswith('abc'):
                outfile.write(line.strip() + " # Here's abc\n")
            else:
                outfile.write(line)

这将使:

abc 1 # Here's abc
blabla 2
def 3
abc 4 # Here's abc

来自输入文件:

abc 1
blabla 2
def 3
abc 4

也可以通过正则表达式或通过修改我的示例来搜索需要注释的行,也可以注释某些行号。但是,现在由您自己确定。

答案 1 :(得分:0)

是的。您可以打开一个文件,并逐行读取它,

with open('file.py') as f:
    lines = f.readlines()

搜索特定行,将其作为原始字符串或带有if条件的正则表达式并将其替换为

for n, line in enumerate(lines):
    if(line == search_line):
        lines[n] = new_line

写入相同的文件,例如:

with open('file.py', 'w') as f:
    f.write(''.join(lines))

这有什么难的?

答案 2 :(得分:0)

这是一个python解决方案,它接收一个名为comment的文件,并注释掉包含字符串wfile = open("commentFile.py","r+") d = wfile.readlines() wfile.seek(0) allLines = [] for line in d: if("comment" in line and "#" not in line): allLines.append("#"+line) else: allLines.append(line) wfile.writelines(allLines) wfile.close() 的任何行。

toMap