国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python刪除Java源文件中全部注釋的實(shí)現(xiàn)方法

2020-01-04 16:50:17
字體:
供稿:網(wǎng)友

本文實(shí)例講述了Python刪除Java源文件中全部注釋的實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:

同事想刪除一個(gè)Java項(xiàng)目中的全部注釋,讓我?guī)兔ο胂朕k法。

沒找不到合適工具,就寫了這個(gè)腳本,遍歷指定目錄,查找*.java文件,刪除其中/* */之間,及// 至行末的內(nèi)容。

(用之前要改改其中的路徑):

#!D:/Python32# 過濾JAVA程序中的注釋# 如果字符串中有注釋符號(hào)的話會(huì)有問題。import osimport reimport io# 改這個(gè)目錄!!!top_dir = "E://java_comments_trim//";# 狀態(tài)S_INIT       = 0;S_SLASH       = 1;S_BLOCK_COMMENT   = 2;S_BLOCK_COMMENT_DOT = 3;S_LINE_COMMENT   = 4;S_STR        = 5;S_STR_ESCAPE    = 6;def trim_dir(path): print("目錄:" + path); for root, dirs, files in os.walk(path):  for name in files:   trim_file(os.path.join(root, name))  #for name in dirs:   #trim_dir(os.path.join(root, name))def trim_file(path): print("文件:" + path); if re.match(".*java{1}quot;, path):  print(" 處理"); else:  print(" 忽略");  return; bak_file = path + ".bak"; os.rename(path, bak_file); fp_src = open(bak_file); fp_dst = open(path, 'w'); state = S_INIT; for line in fp_src.readlines():  for c in line:   if state == S_INIT:    if c == '/':     state = S_SLASH;    elif c == '"''"':     state = S_STR;     fp_dst.write(c);    else:     fp_dst.write(c);   elif state == S_SLASH:    if c == '*':     state = S_BLOCK_COMMENT;    elif c == '/':     state = S_LINE_COMMENT;    else:     fp_dst.write('/');     fp_dst.write(c);   elif state == S_BLOCK_COMMENT:    if c == '*':     state = S_BLOCK_COMMENT_DOT;   elif state == S_BLOCK_COMMENT_DOT:    if c == '/':     state = S_INIT;    else:     state = S_BLOCK_COMMENT;   elif state == S_LINE_COMMENT:    if c == '/n':     state = S_INIT;   elif state == S_STR:    if c == '//':     state = S_STR_ESCAPE;    elif c == '"':     state = S_INIT;    fp_dst.write(c);   elif state == S_STR_ESCAPE:    # 這里未完全實(shí)現(xiàn)全部序列,如/oNNN /xHH /u1234 /U12345678,但沒影響    state = S_STR;    fp_dst.write(c); fp_src.close(); fp_dst.close();trim_dir(top_dir);

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 平定县| 高阳县| 灵石县| 长顺县| 福清市| 灌南县| 扶绥县| 浦城县| 花莲市| 保康县| 峨山| 西华县| 石河子市| 山西省| 普格县| 于田县| 正定县| 秦皇岛市| 华安县| 溧水县| 乌苏市| 三台县| 丽水市| 黄骅市| 前郭尔| 施秉县| 沙洋县| 大姚县| 休宁县| 炎陵县| 鄂托克旗| 宜昌市| 秀山| 绍兴县| 巴南区| 凤城市| 正蓝旗| 滦南县| 大方县| 高安市| 阜城县|