C/C++ 代码转换规范化的脚本
生活随笔
收集整理的這篇文章主要介紹了
C/C++ 代码转换规范化的脚本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
起因
一般從PDF復制下來人家的代碼到TXT都是無腦縮進, 貼近最左側; 本文主要解決這類問題。對無腦縮進到頂頭的代碼進行規范整理; 應該有很多IDE有這個功能
很多情況下, 都會從網上黏貼下的代碼非常不規范, 沒有進行合理的縮進; 于是就有了下面這個工具的產生
功能簡述
- 初始化文檔; 就是去掉首位的空格, del_sw_space(string )
- 合理縮進, 根據大括號出現的次數
- 解決 for/if 單行執行的縮進
代碼
def setCountTab(i):return ''.join(['\t' for x in range(i)])def del_sw_space(string):start = 0end = len(string)-1while(start < end+1):if string[start] is not ' ':breakelse:start += 1while end >0:if string[end] is not ' ':breakelse:end -= 1return string[start:end+1]#print ('AAA' + del_sw_space(' fsd sdfa s fs dsa sadafew ') + 'QQQ ')def k2(file1, file2):modify_file = open(file2, 'w+')g_iTabCount = 0flag = 0 ###記錄反括號縮進標志 falg = 0 表示目前有表示了for line in open(file1, 'r+', encoding = 'utf-8').readlines():if flag == 1:modify_file.write('\t')flag = 0modify_file.write(setCountTab(g_iTabCount))modify_file.writelines(del_sw_space(line))if '{' in line:g_iTabCount += 1if '}' in line:g_iTabCount -= 1if '//' in line: ##專門解決 () // 下面換行的有注釋的情況pre_line = del_sw_space(line.split('//')[0])print(pre_line)if pre_line.endswith(')'):flag = 1if line.endswith(')\n') :flag = 1modify_file.close()file1 = 'L:\\py_2cpp\\demo.txt' file2 = 'L:\\py_2cpp\\temp.txt'k2(file1, file2)轉載于:https://www.cnblogs.com/actanble/p/6713417.html
總結
以上是生活随笔為你收集整理的C/C++ 代码转换规范化的脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 农村信用社小额贷款条件
- 下一篇: Ubuntu caffe 测试matla