国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python刪除Java源文件中全部注釋的實現方法

Python刪除Java源文件中全部注釋的實現方法

2020-12-04 00:55CodeArhat Python

這篇文章主要介紹了Python刪除Java源文件中全部注釋的實現方法,涉及Python讀取文件、正則匹配、字符串查找、替換等相關操作技巧,需要的朋友可以參考下

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

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!D:\Python32
# 過濾JAVA程序中的注釋
# 如果字符串中有注釋符號的話會有問題。
import os
import re
import io
# 改這個目錄!!!
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:
    # 這里未完全實現全部序列,如\oNNN \xHH \u1234 \U12345678,但沒影響
    state = S_STR;
    fp_dst.write(c);
 fp_src.close();
 fp_dst.close();
trim_dir(top_dir);

 

希望本文所述對大家Python程序設計有所幫助。

原文鏈接:http://blog.csdn.net/codearhat/article/details/6852483

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 亚洲一区二区精品 | 欧美一区二区三区的 | 国产精品久久久久久久福利院 | 国产精品99在线观看 | av看片网 | 九九热在线视频观看这里只有精品 | 久久九| 精品福利一区二区三区 | 国产黄色小视频在线观看 | 日韩av高清在线 | 国产精品久久天天躁 | 国产精品一区二区久久 | 国产一区二区三区视频 | 91亚洲精品一区 | 国内精品久久久久 | 人成免费在线视频 | 欧美日本一区二区三区 | 成人黄网在线观看 | 久久久久久久久99精品 | 国产精品高清一区二区 | 超碰c | 一级黄色大片 | 国产视频网 | 超级av | 欧美一级免费高清 | 亚洲欧美一级久久精品国产特黄 | 蜜桃精品久久久久久久免费影院 | 黄片毛片一级 | 成年人在线观看 | 欧美在线一区二区三区 | 亚洲视频在线观看网址 | 欧美日韩一区二区三区 | 久久成人精品视频 | 在线观看av网站永久 | 亚洲视频区 | 国产精品永久久久久久久久久 | 亚洲欧美在线综合 | 电影91久久久 | 免费看亚洲 | 欧美福利 | 国产免费一区二区三区 |