本文實例講述了Python企業編碼生成系統之系統主要函數設計。分享給大家供大家參考,具體如下:
一 主要函數功能描述
二 mkdir函數實現
# 創建文件夾函數
def mkdir(path):
isexists = os.path.exists(path) # 判斷文件夾路徑是否存在
if not isexists: # 如果文件夾路徑不存在
os.mkdir(path) # 創建要創建的文件夾
三 openfile函數實現
# 讀取文件內容函數
def openfile(filename):
f = open(filename) # 打開指定文件
fllist = f.read() # 讀取文件內容
f.close() # 關閉文件
return fllist # 返回讀取的文件內容
四 inputbox函數實現
# 輸入驗證函數,showstr爲input函數提供動態輸入提示文字,showorder提供驗證方式,length提供要求輸入數據的長度
def inputbox(showstr, showorder, length):
instr = input(showstr) # 使用input函數要求用戶輸入信息,showstr爲輸入提示文字
if len(instr) != 0: # 輸入數據的長度不爲零
# 根據輸入數據的要求,分成三種驗證方式驗證,1:數字,不限位數;2:字母;3:數字且有位數要求
if showorder == 1: # 驗證方式 ,數字格式,不限位數,大於零的整數
if str.isdigit(instr): # 驗證是否爲數字
if instr == 0: # 驗證數字是否爲0,如果是,要求重新輸入,返回值爲0
print("\033[1;31;40m 輸入爲零,請重新輸入!!\033[0m") # 要求重新輸入,返回值爲“0”
return "0" # 函數返回值爲“0”,爲什麼返回值爲“0”呢?讀者思考一下
else: # 如果輸入正確,返回輸入的數據給返回值
return instr # 將輸入的數據傳給函數返回值
else: # 如果輸入不是數字,要求用戶重新輸入,函數返回值爲“0”
print("\033[1;31;40m輸入非法,請重新輸入!!\033[0m") # 要求用戶重新輸入
return "0" # 函數返回值爲“0”
if showorder == 2: # 驗證方式2 ,要求字母格式,且是三個字母
if str.isalpha(instr): # 判斷輸入是否爲字母
if len(instr) != length: # 判斷輸入的是否爲三個字母,如果不是,則要求重新輸入,返回值爲“0”
print("\033[1;31;40m必須輸入三個字母,請重新輸入!!\033[0m") # 要求重新輸入
return "0" # 返回值爲“0”
else: # 如果輸入是三個字母,返回輸入的字母
return instr # 將函數返回值設置爲輸入的字母
else: # 如果輸入不是字母
print("\033[1;31;40m輸入非法,請重新輸入!!\033[0m") # 要求重新輸入
return "0" # 返回值爲“0”
if showorder == 3: # 驗證方式3 ,要求數字格式,且輸入數字位數有要求
if str.isdigit(instr): # 驗證是否爲數字
if len(instr) != length: # 驗證輸入數字是否爲要求長度位數,如果不是3位數字,則要求重新輸入
print("\033[1;31;40m必須輸入" + str(length) + "個數字,請重新輸入!!\033[0m") # 要求重新輸入
return "0" # 返回值爲“0”
else: # 輸入數字滿足要求,設置函數返回值爲輸入信息
return instr # 設置函數返回值爲輸入信息
else: # 如果輸入不是數字
print("\033[1;31;40m輸入非法,請重新輸入!!\033[0m") # 提示輸入非法,要求重新輸入
return "0" # 函數返回值爲“0”
else: # 如果沒有輸入任何內容,即輸入爲空
print("\033[1;31;40m輸入爲空,請重新輸入!!\033[0m") # 提示輸入爲空,要求重新輸入
return "0" # 函數返回值爲“0”
五 wfile函數實現
# 實現屏幕輸出和文件輸出編碼信息函數,# sstr參數爲輸出防僞碼數據, sfile爲輸出的文件名稱
# typeis設置輸出完成後是否通過信息框提示, smsg爲信息提示框的提示文字,datapath 保存防僞碼的文件夾
def wfile(sstr, sfile, typeis, smsg, datapath):
mkdir(datapath) # 調用該函數創建文件夾
datafile = datapath + "\\" + sfile # 設置保存防僞碼的文件(包含路徑)
file = open(datafile, 'w') # 打開保存防僞碼的文件,如果文件不存在,則創建該文件
wrlist = sstr # 將防僞碼信息賦值給wrlist
pdata = "" # 清空變量pdata,pdata存儲屏幕輸出的防僞碼信息
wdata = "" # 清空變量 wdata , wdata 存儲保存到文本文件的防僞碼信息
for i in range(len(wrlist)): # 按條循環讀取防僞碼數據
wdata = str(wrlist[i].replace('[', '')).replace(']', '') # 去掉字符的中括號
wdata = wdata.replace(''''','').replace(''''', '') # 去掉字符的引號
file.write(str(wdata)) # 寫入保存防僞碼的文件
pdata = pdata + wdata # 將單條防僞碼存儲到pdata 變量
file.close() # 關閉文件
print("\033[1;31m" + pdata + "\033[0m") # 屏幕輸出生成的防僞碼信息
if typeis != "no": # 是否顯示“輸出完成”的信息提示框。如果typeis的值爲“no”,不現顯示
# 顯示“輸出完成”的信息提示框。顯示信息包含防僞信息碼的保存路徑
tkinter.messagebox.showinfo("提示", smsg + str(len(randstr)) + "\n 防僞碼文件存放位置:" + datafile)
root.withdraw() # 關閉輔助窗口
最後給大家推薦一個資源很全的python學習聚集地,[點擊進入],這裏有我收集以前學習心得,學習筆記,還有一線企業的工作經驗,且給大定on零基礎到項目實戰的資料,大家也可以在下方,留言,把不懂的提出來,大家一起學習進步