鍍金池/ 問答/Python  Office/ 請問怎么把這兩段相似代碼用函數(shù)封裝一下,使它簡潔一些?

請問怎么把這兩段相似代碼用函數(shù)封裝一下,使它簡潔一些?

with open("email_encrypt.txt", "w", encoding="utf-8") as fw:
    fw.write(get_email("wenben.txt"))

file_data = ""
with open("email_encrypt.txt", "r", encoding="utf-8")as fr:
    for line in fr.readlines():
        t = md5_encode(line)
        if "\n" in line:
            line = line.replace("\n", " " + t + "\n")
        else:
            line = line + " " + t
        file_data += line

with open("email_encrypt.txt", "w", encoding="utf-8")as fn:
    fn.write(file_data)


with open("phone_encrypt.txt", "w", encoding="utf-8") as fw2:
    fw2.write(get_phonenumber("wenben.txt"))

file_data2 = ""
with open("phone_encrypt.txt", "r", encoding="utf-8")as fr2:
    for line in fr2.readlines():
        t2 = md5_encode(line)
        if "\n" in line:
            line = line.replace("\n", " " + t2 + "\n")
        else:
            line = line + " " + t2
        file_data2 += line

with open("phone_encrypt.txt", "w", encoding="utf-8")as fm:
    fm.write(file_data2)
回答
編輯回答
神曲

def 兩個變量就可以了

2018年8月20日 14:29
編輯回答
帥到炸

一樓言之有理

# 從 wenben.txt 獲取內(nèi)容并寫入 filename 中
def writeWenben(filename):
    with open(filename, "w", encoding="utf-8") as fw:
        if "email" in filename:
            fw.write(get_email("wenben.txt"))
        else:
            fw.write(get_phonenumber("wenben.txt"))

# 從 filename 獲取數(shù)據(jù)并寫入自身
def writeFiledata(filename):
    filedata = ""
    with open(filename, "r", encoding="utf-8")as fr:
    for line in fr.readlines():
        t = md5_encode(line)
        if "\n" in line:
            line = line.replace("\n", " " + t + "\n")
        else:
            line = line + " " + t
        file_data += line

    with open(filename, "w", encoding="utf-8")as fm:
        fm.write(file_data)

不知道有沒有錯誤,有的話請指出

2017年9月13日 22:04