亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python企業編碼生成系統之系統主要函數設計詳解

系統 2065 0

本文實例講述了Python企業編碼生成系統之系統主要函數設計。分享給大家供大家參考,具體如下:

一 主要函數功能描述

函數 功能
mkdir 判斷保存防偽碼或補充防偽碼的文件夾是否存在,如果不存在則建立文件夾。
openfile 讀取文本文件函數,主要讀取保存產品編碼和生成數量的文件mrsoft.mri,以及用戶選擇的已生成的編碼文件。
inputbox 輸入驗證判斷函數,根據參數判斷輸入的是哪種類型,是否合法
wfile 編碼輸出顯示函數,通過屏幕輸出和文件輸出兩種方式輸出生成的防偽碼信息。

二 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相關內容感興趣的讀者可查看本站專題:《Python編碼操作技巧總結》、《Python圖片操作技巧總結》、《Python數據結構與算法教程》、《Python Socket編程技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》

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


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲 欧美 日韩在线综合福利 | 最近中文字幕在线视频1 | 国产成人精品影院狼色在线 | 日日摸日日碰日日狠狠 | 亚洲视频播放 | 日本久久久久一级毛片 | 91成人午夜性a一级毛片 | 玖玖国产在线 | a国产视频| 欧美一级黄色毛片 | 国产午夜不卡在线观看视频666 | 精品在线观看一区 | 色一级 | 五月婷婷亚洲 | 亚洲高清中文字幕综合网 | 国内在线精品 | 狠狠色噜噜综合社区 | 久久欧美精品欧美九久欧美 | 日本老熟妇激情毛片 | 久久激情综合色丁香 | 一级毛片免费一级直接观看 | 五月天在线婷婷 | 久操视频免费观看 | 日本精品中文字幕在线不卡 | 日本a视频在线 | 一区二区三区四区免费视频 | 日本在线观看成人小视频 | 在线观看免费黄色小视频 | 美女黄色一级毛片 | 国产精品伦视频观看免费 | 亚洲欧美日韩国产综合久 | 国产100页 | 国产成人精品日本亚洲网站 | 最新毛片久热97免费精品视频 | 狠狠综合久久 | 人成午夜免费大片在线观看 | 国产综合精品久久久久成人影 | 日本高清二区 | 午夜欧美精品久久久久久久久 | 欧美性xxxxxx爱| 怡红院免费va男人的天堂 |