簡體   English   中英

我在 python 中嘗試了 case 語句,但每次我運行時我都會得到我的默認值

[英]i tried case statement in python but every time i run i got my default as a result

Exten=input("Filename:")
match Exten:
    case "Gif":
        print("image/gif")
    case "jeg":
        print("image/jpeg")
    case "jpeg":
        print("image/jpeg")
    case "png":
        print("image/png")
    case "pdf":
        print("application/pdf")
    case "txt":
        print("text/plain")
    case "zip":
        print("application/zip")
    case default:
        print("application/octet-stream")

無論我得到什么文件名 output 是默認的,請解釋我錯過了哪里

也許您應該拆分以獲取擴展名。 我認為你得到了文件的全名,但它不匹配。

fileName=input("Filename with extension:") 
Exten = data.split(".")    
match Exten: 
    case ‘Gif‘: print("image/gif") 
    case ‘jeg‘: print("image/jpeg") 
    case ‘jpeg‘: print("image/jpeg") 
    case ‘png‘: print("image/png") 
    case ‘pdf‘: print("application/pdf") 
    case ‘txt‘: print("text/plain") 
    case ‘zip‘: print("application/zip") 
    case default: print("application/octet-stream")

如果 Exten 是文件名,則需要匹配后綴,而不是整個文件名。 您可以為此使用 split() 。 在將創建包含 2 個項目、文件名和后綴的列表的句點處拆分字符串。 您只需要添加一行來拆分並將匹配更改為僅使用列表的第二項。

Exten=input("Filename:")
exten_split = Exten.split(".")
match exten_split[1]:

您可以在https://www.w3schools.com/python/ref_string_split.asp找到這方面的示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM