要处理一个软著的源代码文档。要求是不能有注释不能有空行。
word一打开#两千个,寻思着自己整一个代码试试能不能处理一波
主要要处理的情况:
- 单行注释,以井号分割
import torch#1233
- 单行注释,#之前只有空格没有代码
#1234
- 空行
- 空行但不完全空,有空格
思路
1、删除注释,截取单行注释#前部分->splited_line[0]
2、空行或者含只有空格的空行,continue
3、获取删除注释的有效部分,write
存在问题
但是存在一个bug,对于第三种情况,只含有注释内容的行,删除注释之后无法通过splited_line[0]结尾是否是换行符判断,暂时没想到什么好的方法。我直接粗暴把新生成的文档再执行一边(因为新文档里删除注释的空行就以换行符结尾了)。
import os
full_list=[]
new_file=open('./new.txt','w+')
with open('./origin.txt', encoding='utf-8') as f:
def_lines=f.readlines()
full_list.append(def_lines)
for line in def_lines:
splited_line = line.split("#")
space_splited_line = splited_line[0].split(" ")
if(space_splited_line[-1]=="\n"):
continue
if(splited_line[0]!=""):
if(not splited_line[0].endswith("\n")):
splited_line[0] = splited_line[0]+"\n"
new_file.write(splited_line[0])
new_file.close()