真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python練習(xí)【7】【文件對比并輸出可讀性較強的html文件】-創(chuàng)新互聯(lián)

題目:

利用python寫出一個可在shell中執(zhí)行的命令mydiff,用于比對兩個文件之間的區(qū)別,輸出可讀性較強的html頁面源碼,可保存到html文件中進行查看。

成都創(chuàng)新互聯(lián)公司是專業(yè)的伊犁網(wǎng)站建設(shè)公司,伊犁接單;提供成都網(wǎng)站設(shè)計、成都做網(wǎng)站,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行伊犁網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
  • 格式: mydiff file1 file2 [> save_file]

實現(xiàn):

  • 1.利用sys.argv函數(shù)獲取從命令行輸入的參數(shù),用于傳遞參數(shù)
    if len(sys.argv) !=3: # 如果參數(shù)數(shù)量不為3個輸出命令的使用提示
        print('''
        usage:  {} file1 file2 [>] [file to save]
        '''.format(sys.argv[0]))
    else: # 當(dāng)輸入?yún)?shù)符合要求進行比對
        ... ...

  • 2.利用difflib.Htmldiff函數(shù)進行比對,并輸出可讀性較強的html頁面源碼
#sys.argv的后兩個參數(shù)為需要進行比對的文件名
file1 = sys.argv[1]
file2 = sys.argv[2]
try:
       with open(file1)as f1 ,open(file2)as f2: # 打開兩個文件
                content1= f1.read().splitlines(keepends=True) # 讀取其中的文件
                content2= f2.read().splitlines(keepends=True)
                diff = difflib.HtmlDiff() # 創(chuàng)建工具對象
                result =diff.make_file(content1,content2) # 獲取文件對比結(jié)果
                print(result) # 輸出結(jié)果,可以看到html寫的源碼
except Exception as e: # 出現(xiàn)異常輸出提示
        print('Error:'+e)

  • 3.文件開頭注明解釋器位置和編碼格式
    #!/usr/local/python3/bin/python3.6
    #encoding=utf-8
    完整代碼:
    #!/usr/local/python3/bin/python3.6
    #encoding=utf-8
    import sys
    import difflib
    if len(sys.argv) !=3: # 如果參數(shù)數(shù)量不為3個輸出命令的使用提示
        print('''
        usage:  {} file1 file2 [>] [file to save]
        '''.format(sys.argv[0]))
    else: # 當(dāng)輸入?yún)?shù)符合要求進行比對
        file1 = sys.argv[1]
        file2 = sys.argv[2]
        try:
               with open(file1)as f1, open(file2)as f2:  # 打開兩個文件
                        content1 = f1.read().splitlines(keepends=True)  # 讀取其中的文件
                        content2 = f2.read().splitlines(keepends=True)
                        diff = difflib.HtmlDiff()  # 創(chuàng)建工具對象
                        result = diff.make_file(content1, content2)  # 獲取文件對比結(jié)果
                        print(result)  # 輸出結(jié)果,可以看到html寫的源碼
        except Exception as e:  # 出現(xiàn)異常輸出提示
                print('Error:' + e)

  • 4.將py文件拷貝至/usr/local/bin/中(此路徑已在環(huán)境變量中),并增加執(zhí)行權(quán)限。此時利用tab鍵補齊可以看到mydiff命令
    Python練習(xí)【7】【文件對比并輸出可讀性較強的html文件】

  • 5.測試命令,輸出了一個html編碼
    Python練習(xí)【7】【文件對比并輸出可讀性較強的html文件】

  • 6.重定向在桌面生成一個html文件(mydiff /etc/passwd /tmp/paswd > /home/kiosk/Desktop/diff.html)
    Python練習(xí)【7】【文件對比并輸出可讀性較強的html文件】

  • 7.利用瀏覽器打開,可以看到可讀性很強的html頁面
    Python練習(xí)【7】【文件對比并輸出可讀性較強的html文件】

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


當(dāng)前標(biāo)題:Python練習(xí)【7】【文件對比并輸出可讀性較強的html文件】-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://weahome.cn/article/doogij.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部