def deal_import(origin_code):
import_list = []
origin_code = origin_code.lower()
code_lines = removeComments(origin_code)
one_split_list = code_lines.split("import")
for twosplit in one_split_list:
two_spilt_list = twosplit.split("from")
remove_list = remmove_empty(two_spilt_list)
if len(remove_list) != 0:
rmas_list = rm_as(remove_list)
import_list = import_list + rmas_list
code_def = import_list[-1]
code_import = import_list
code_import.pop()
code_import = list(set(code_import))
code_import.sort()
return code_import,code_def
如上面的代碼,我想提取出其中的資料流。
在這個代碼中,進入函式的引數為origin_code
origin_code = origin_code.lower()
在這行中,origin_code 轉化為 origin_code(其實就是沒有變化)
code_lines = removeComments(origin_code)
在這行代碼中,origin_code 轉化為code_lines
同樣的方法,找到整個資料流:
origin_code ——> code_lines --> one_split_list --> twosplit --> two_spilt_list --> remove_list --> rmas_list --> import_list--> code_def
origin_code ——> code_lines --> one_split_list --> twosplit --> two_spilt_list --> remove_list --> rmas_list --> import_list--> import_list
資料流一共有兩條,但是選擇其中最長的資料流即可。
如果很復雜的話,其實其中if里面都可以不進行判斷。
remmove_empty(two_spilt_list)
對于這個自定義函式我們不進行其內部,也就是不管它里面的資料是如果流向的。
不知道如何實作這個代碼,希望會的大佬可以給出能實作的代碼,謝謝
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/96551.html
下一篇:python源代碼中的資料流提取
