Phần mở rộng các tệp trong Python là gì

Một chủ đề cũ, nhưng có thể giúp độc giả tương lai ...

Tôi sẽ tránh bằng cách sử dụng . Lower () trên tên tệp nếu không có tên khác lý do hơn để làm cho mã của bạn độc lập hơn nền tảng. (linux trường hợp nhạy cảm, . low () trên tên tệp sẽ chắc chắn làm hỏng logic của bạn cuối cùng ... hoặc tệ hơn, một tệp quan trọng!)

Tại sao không sử dụng re ? (Mặc dù để mạnh mẽ hơn nữa, bạn nên kiểm tra tiêu đề tệp ma thuật của mỗi tệp ... Cách kiểm tra loại tệp không có phần mở rộng trong python? )

import re def checkext(fname): if re.search('\.mp3$',fname,flags=re.IGNORECASE): return('mp3') if re.search('\.flac$',fname,flags=re.IGNORECASE): return('flac') return('skip') flist = ['myfile.mp3', 'myfile.MP3','myfile.mP3','myfile.mp4','myfile.flack','myfile.FLAC', 'myfile.Mov','myfile.fLaC'] for f in flist: print "{} ==> {}".format(f,checkext(f))

Đầu ra:

myfile.mp3 ==> mp3 myfile.MP3 ==> mp3 myfile.mP3 ==> mp3 myfile.mp4 ==> skip myfile.flack ==> skip myfile.FLAC ==> flac myfile.Mov ==> skip myfile.fLaC ==> flac

Video liên quan

Chủ đề