欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python企業(yè)編碼生成系統(tǒng)之系統(tǒng)主要函數(shù)設(shè)計(jì)詳解

 更新時(shí)間:2019年07月26日 11:10:02   作者:cakincqm  
這篇文章主要介紹了Python企業(yè)編碼生成系統(tǒng)之系統(tǒng)主要函數(shù)設(shè)計(jì),涉及目錄操作、文件讀寫(xiě)、驗(yàn)證判斷、編碼輸出等功能實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了Python企業(yè)編碼生成系統(tǒng)之系統(tǒng)主要函數(shù)設(shè)計(jì)。分享給大家供大家參考,具體如下:

一 主要函數(shù)功能描述

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

二 mkdir函數(shù)實(shí)現(xiàn)

# 創(chuàng)建文件夾函數(shù)
def mkdir(path):
  isexists = os.path.exists(path) # 判斷文件夾路徑是否存在
  if not isexists: # 如果文件夾路徑不存在
    os.mkdir(path) # 創(chuàng)建要?jiǎng)?chuàng)建的文件夾

三 openfile函數(shù)實(shí)現(xiàn)

# 讀取文件內(nèi)容函數(shù)
def openfile(filename):
  f = open(filename) # 打開(kāi)指定文件
  fllist = f.read() # 讀取文件內(nèi)容
  f.close() # 關(guān)閉文件
  return fllist # 返回讀取的文件內(nèi)容

四 inputbox函數(shù)實(shí)現(xiàn)

# 輸入驗(yàn)證函數(shù),showstr為input函數(shù)提供動(dòng)態(tài)輸入提示文字,showorder提供驗(yàn)證方式,length提供要求輸入數(shù)據(jù)的長(zhǎng)度
def inputbox(showstr, showorder, length):
  instr = input(showstr) # 使用input函數(shù)要求用戶輸入信息,showstr為輸入提示文字
  if len(instr) != 0: # 輸入數(shù)據(jù)的長(zhǎng)度不為零
    # 根據(jù)輸入數(shù)據(jù)的要求,分成三種驗(yàn)證方式驗(yàn)證,1:數(shù)字,不限位數(shù);2:字母;3:數(shù)字且有位數(shù)要求
    if showorder == 1: # 驗(yàn)證方式 ,數(shù)字格式,不限位數(shù),大于零的整數(shù)
      if str.isdigit(instr): # 驗(yàn)證是否為數(shù)字
        if instr == 0: # 驗(yàn)證數(shù)字是否為0,如果是,要求重新輸入,返回值為0
          print("\033[1;31;40m 輸入為零,請(qǐng)重新輸入??!\033[0m") # 要求重新輸入,返回值為“0”
          return "0" # 函數(shù)返回值為“0”,為什么返回值為“0”呢?讀者思考一下
        else: # 如果輸入正確,返回輸入的數(shù)據(jù)給返回值
          return instr # 將輸入的數(shù)據(jù)傳給函數(shù)返回值
      else: # 如果輸入不是數(shù)字,要求用戶重新輸入,函數(shù)返回值為“0”
        print("\033[1;31;40m輸入非法,請(qǐng)重新輸入??!\033[0m") # 要求用戶重新輸入
        return "0" # 函數(shù)返回值為“0”
    if showorder == 2: # 驗(yàn)證方式2 ,要求字母格式,且是三個(gè)字母
      if str.isalpha(instr): # 判斷輸入是否為字母
        if len(instr) != length: # 判斷輸入的是否為三個(gè)字母,如果不是,則要求重新輸入,返回值為“0”
          print("\033[1;31;40m必須輸入三個(gè)字母,請(qǐng)重新輸入!!\033[0m") # 要求重新輸入
          return "0" # 返回值為“0”
        else: # 如果輸入是三個(gè)字母,返回輸入的字母
          return instr # 將函數(shù)返回值設(shè)置為輸入的字母
      else: # 如果輸入不是字母
        print("\033[1;31;40m輸入非法,請(qǐng)重新輸入!!\033[0m") # 要求重新輸入
        return "0" # 返回值為“0”
    if showorder == 3: # 驗(yàn)證方式3 ,要求數(shù)字格式,且輸入數(shù)字位數(shù)有要求
      if str.isdigit(instr): # 驗(yàn)證是否為數(shù)字
        if len(instr) != length: # 驗(yàn)證輸入數(shù)字是否為要求長(zhǎng)度位數(shù),如果不是3位數(shù)字,則要求重新輸入
          print("\033[1;31;40m必須輸入" + str(length) + "個(gè)數(shù)字,請(qǐng)重新輸入??!\033[0m") # 要求重新輸入
          return "0" # 返回值為“0”
        else: # 輸入數(shù)字滿足要求,設(shè)置函數(shù)返回值為輸入信息
          return instr # 設(shè)置函數(shù)返回值為輸入信息
      else: # 如果輸入不是數(shù)字
        print("\033[1;31;40m輸入非法,請(qǐng)重新輸入??!\033[0m") # 提示輸入非法,要求重新輸入
        return "0" # 函數(shù)返回值為“0”
  else: # 如果沒(méi)有輸入任何內(nèi)容,即輸入為空
    print("\033[1;31;40m輸入為空,請(qǐng)重新輸入??!\033[0m") # 提示輸入為空,要求重新輸入
    return "0" # 函數(shù)返回值為“0”

五 wfile函數(shù)實(shí)現(xiàn)

# 實(shí)現(xiàn)屏幕輸出和文件輸出編碼信息函數(shù),# sstr參數(shù)為輸出防偽碼數(shù)據(jù), sfile為輸出的文件名稱
# typeis設(shè)置輸出完成后是否通過(guò)信息框提示, smsg為信息提示框的提示文字,datapath 保存防偽碼的文件夾
def wfile(sstr, sfile, typeis, smsg, datapath):
  mkdir(datapath) # 調(diào)用該函數(shù)創(chuàng)建文件夾
  datafile = datapath + "\\" + sfile # 設(shè)置保存防偽碼的文件(包含路徑)
  file = open(datafile, 'w') # 打開(kāi)保存防偽碼的文件,如果文件不存在,則創(chuàng)建該文件
  wrlist = sstr # 將防偽碼信息賦值給wrlist
  pdata = "" # 清空變量pdata,pdata存儲(chǔ)屏幕輸出的防偽碼信息
  wdata = "" # 清空變量 wdata , wdata 存儲(chǔ)保存到文本文件的防偽碼信息
  for i in range(len(wrlist)): # 按條循環(huán)讀取防偽碼數(shù)據(jù)
    wdata = str(wrlist[i].replace('[', '')).replace(']', '') # 去掉字符的中括號(hào)
    wdata = wdata.replace(''''','').replace(''''', '') # 去掉字符的引號(hào)
    file.write(str(wdata)) # 寫(xiě)入保存防偽碼的文件
    pdata = pdata + wdata # 將單條防偽碼存儲(chǔ)到pdata 變量
  file.close() # 關(guān)閉文件
  print("\033[1;31m" + pdata + "\033[0m") # 屏幕輸出生成的防偽碼信息
  if typeis != "no": # 是否顯示“輸出完成”的信息提示框。如果typeis的值為“no”,不現(xiàn)顯示
    # 顯示“輸出完成”的信息提示框。顯示信息包含防偽信息碼的保存路徑
    tkinter.messagebox.showinfo("提示", smsg + str(len(randstr)) + "\n 防偽碼文件存放位置:" + datafile)
    root.withdraw() # 關(guān)閉輔助窗口


更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python編碼操作技巧總結(jié)》、《Python圖片操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

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

相關(guān)文章

  • Python+Opencv答題卡識(shí)別用例詳解

    Python+Opencv答題卡識(shí)別用例詳解

    這篇文章主要為大家詳細(xì)介紹了Python+Opencv答題卡識(shí)別用例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 詳解Python自動(dòng)化之文件自動(dòng)化處理

    詳解Python自動(dòng)化之文件自動(dòng)化處理

    今天給大家?guī)?lái)的是關(guān)于Python的相關(guān)知識(shí),文章圍繞著Python文件自動(dòng)化處理展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • python尋找list中最大值、最小值并返回其所在位置的方法

    python尋找list中最大值、最小值并返回其所在位置的方法

    今天小編就為大家分享一篇python尋找list中最大值、最小值并返回其所在位置的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Python學(xué)習(xí)筆記之讀取文件、OS模塊、異常處理、with as語(yǔ)法示例

    Python學(xué)習(xí)筆記之讀取文件、OS模塊、異常處理、with as語(yǔ)法示例

    這篇文章主要介紹了Python學(xué)習(xí)筆記之讀取文件、OS模塊、異常處理、with as語(yǔ)法,結(jié)合實(shí)例形式簡(jiǎn)單分析了Python針對(duì)文件、目錄的讀取、異常處理等相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • python實(shí)現(xiàn)微信每日一句自動(dòng)發(fā)送給喜歡的人

    python實(shí)現(xiàn)微信每日一句自動(dòng)發(fā)送給喜歡的人

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)微信每日一句自動(dòng)發(fā)送給喜歡的人,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Python命名空間namespace及作用域原理解析

    Python命名空間namespace及作用域原理解析

    這篇文章主要介紹了Python命名空間namespace及作用域原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 在Python中用get()方法獲取字典鍵值的教程

    在Python中用get()方法獲取字典鍵值的教程

    這篇文章主要介紹了在Python中用get()方法獲取字典鍵值的教程,是Python入門中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • 一文帶你了解Python中的延遲綁定

    一文帶你了解Python中的延遲綁定

    Python中的延遲綁定是指在嵌套函數(shù)中,內(nèi)部函數(shù)在被調(diào)用時(shí)才會(huì)綁定外部函數(shù)的變量,而不是在定義內(nèi)部函數(shù)時(shí)就綁定。本文將通過(guò)一些例子帶大家深入了解Python中的延遲綁定,感興趣的可以了解一下
    2023-05-05
  • django2.2安裝錯(cuò)誤最全的解決方案(小結(jié))

    django2.2安裝錯(cuò)誤最全的解決方案(小結(jié))

    這篇文章主要介紹了django2.2安裝錯(cuò)誤最全的解決方案(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • python提取照片坐標(biāo)信息的實(shí)例代碼

    python提取照片坐標(biāo)信息的實(shí)例代碼

    這篇文章主要介紹了python提取照片坐標(biāo)信息的實(shí)例代碼,文中給大家提到了Python利用exifread庫(kù)來(lái)解析照片的經(jīng)緯度,通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08

最新評(píng)論