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