亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 忽略 if/elif 語句

Python 忽略 if/elif 語句

四季花海 2023-02-22 16:45:40
你好,編譯器忽略了 if/elif 語句,我不知道為什么我添加了一些印刷品以了解問題的根源,但我沒有明白def decode_frame(frame_dir, caesarn):    #take the first frame to get width, height, and total encoded frame    # first_frame = Image.open(str(frame_dir) + "/0.jpg")    first_frame = Image.open(str(frame_dir) + "/" + "1.png")    print("1")    r, g, b = first_frame.getpixel((0, 0))    print("2")    total_encoded_frame = g    print("3")    msg = ""    print("4")    for i in range(1, total_encoded_frame+1):        print("5")        frame = Image.open(str(frame_dir) + "/" + str(i) + ".png")        print("6")        width, height = frame.size        index = 0        print("7")        for row in range(height):            print("8")            for col in range(width):                print("10")                try:                    print("9")                    r, g, b = frame.getpixel((col, row))                    print("11")                except ValueError:                    print("12")                    # for some ong a(transparancy) is needed                    r, g, b, a = frame.getpixel((col, row))                    print("13")                print("aa")                if row == 0 and col == 0 :                    print("14")                    length = r                    print("15")                elif index <= length:                    # put the decrypted character into string                    print("tt")                    msg += caesar_ascii(chr(r), "dec", caesarn)                print("18")                index += 1            print("cc")    #remove the first and the last quote    msg = msg[1:-1]    print("17")    recovered_txt = open("data/recovered-text.txt", "w")    print("19")    recovered_txt.write(str(msg.encode().decode('string_escape')))    print("20")這是輸出911aa1810911aa1810911aa1810911aa1810911aa1810911aa1810911aa1810911aa18cc1719
查看完整描述

1 回答

?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

錯誤消息表明錯誤在行中:

    recovered_txt.write(str(msg.encode().decode('string_escape')))

特別是,該decode方法不知道什么'string_escape'意思;它需要編碼的名稱,例如'utf-8'.

您正試圖msg通過四個修改:[1:-1]、encodedecodestr這可能不是你想要的。你可能想要的是寫出msg文本:

    recovered_txt = open("data/recovered-text.txt", "wt")
    recovered_txt.write(msg)

注意"wt"通話中的open。


查看完整回答
反對 回復 2023-02-22
  • 1 回答
  • 0 關注
  • 156 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號