Hướng dẫn how to check the type of a file in python - cách kiểm tra loại tệp trong python

Bạn nên đảm bảo rằng "tệp" thực sự không phải là một thư mục trước khi kiểm tra tiện ích mở rộng. Một số câu trả lời ở trên không tính đến tên thư mục với các giai đoạn. [

It's an mp3
0 là một tên thư mục hợp lệ].

Kiểm tra phần mở rộng của tệp:

import os

file_path = "C:/folder/file.mp3"
if os.path.isfile[file_path]:
    file_extension = os.path.splitext[file_path][1]
    if file_extension.lower[] == ".mp3":
        print["It's an mp3"]
    if file_extension.lower[] == ".flac":
        print["It's a flac"]

Output:

It's an mp3

Kiểm tra phần mở rộng của tất cả các tệp trong một thư mục:

import os

directory = "C:/folder"
for file in os.listdir[directory]:
    file_path = os.path.join[directory, file]
    if os.path.isfile[file_path]:
        file_extension = os.path.splitext[file_path][1]
        print[file, "ends in", file_extension]

Output:

abc.txt ends in .txt
file.mp3 ends in .mp3
song.flac ends in .flac

So sánh phần mở rộng tệp với nhiều loại:

import os

file_path = "C:/folder/file.mp3"
if os.path.isfile[file_path]:
    file_extension = os.path.splitext[file_path][1]
    if file_extension.lower[] in {'.mp3', '.flac', '.ogg'}:
        print["It's a music file"]
    elif file_extension.lower[] in {'.jpg', '.jpeg', '.png'}:
        print["It's an image file"]

Đầu ra:

It's a music file

Chúng ta có thể sử dụng hàm module splitext [] của Python OS để có được phần mở rộng tệp. Hàm này chia đường dẫn tệp thành một tuple có hai giá trị - root và phần mở rộng.

Nhận phần mở rộng tệp trong Python

Dưới đây là một chương trình đơn giản để có được phần mở rộng tệp trong Python.

import os

# unpacking the tuple
file_name, file_extension = os.path.splitext["/Users/pankaj/abc.txt"]

print[file_name]
print[file_extension]

print[os.path.splitext["/Users/pankaj/.bashrc"]]
print[os.path.splitext["/Users/pankaj/a.b/image.png"]]

Output::

Tiện ích mở rộng tập tin trong Python
  • Trong ví dụ đầu tiên, chúng tôi đang giải nén trực tiếp các giá trị tuple cho hai biến.
  • Lưu ý rằng tệp .bashrc không có phần mở rộng. Dấu chấm được thêm vào tên tệp để biến nó thành một tệp ẩn.
  • Trong ví dụ thứ ba, có một dấu chấm trong tên thư mục.

Nhận tiện ích mở rộng tệp bằng mô -đun Pathlib

Chúng tôi cũng có thể sử dụng mô -đun Pathlib để có phần mở rộng tệp. Mô -đun này đã được giới thiệu trong bản phát hành Python 3.4.

>>> import pathlib
>>> pathlib.Path["/Users/pankaj/abc.txt"].suffix
'.txt'
>>> pathlib.Path["/Users/pankaj/.bashrc"].suffix
''
>>> pathlib.Path["/Users/pankaj/.bashrc"]
PosixPath['/Users/pankaj/.bashrc']
>>> pathlib.Path["/Users/pankaj/a.b/abc.jpg"].suffix
'.jpg'
>>> 

Sự kết luận

Nó luôn luôn tốt hơn để sử dụng các phương thức tiêu chuẩn để có được phần mở rộng tệp. Nếu bạn đã sử dụng mô -đun OS, thì hãy sử dụng phương thức splitExt []. Đối với cách tiếp cận hướng đối tượng, sử dụng mô-đun pathlib.

Muốn tìm hiểu thêm? Tham gia cộng đồng DigitalOcean!

Tham gia cộng đồng DigitalOcean của chúng tôi miễn phí hơn một triệu nhà phát triển! Nhận trợ giúp và chia sẻ kiến ​​thức trong phần Câu hỏi & Câu trả lời của chúng tôi, tìm hướng dẫn và công cụ sẽ giúp bạn phát triển như một nhà phát triển và mở rộng quy mô dự án hoặc doanh nghiệp của bạn, và đăng ký các chủ đề quan tâm.

Đăng ký

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    ĐọcMagic Numberis a constant value, used for the identification of a file. This method provides more flexibility in naming a file and does not mandatethe presence of an extension.  Magic numbers are good for recognizing files, as sometimes a file may not have the correct file extension [or may not have one at all].

    Bàn luậnPython Magic library to provide such capabilities to our program. To install the library, execute the following command in your operating system’s command interpreter:-

    Cách chung để nhận ra loại tệp là xem phần mở rộng của nó. Nhưng đây nói chung là trường hợp. Loại tiêu chuẩn này để nhận dạng tệp bằng cách liên kết một tiện ích mở rộng với loại tệp được thực thi bởi một số họ hệ điều hành [chủ yếu là Windows]. Các hệ điều hành khác như Linux [và các biến thể của nó] sử dụng số ma thuật để nhận ra các loại tệp. Một số ma thuật là một giá trị không đổi, được sử dụng để xác định tệp. Phương pháp này cung cấp sự linh hoạt hơn trong việc đặt tên một tệp và không có sự hiện diện của một phần mở rộng. & nbsp; số ma thuật rất tốt để nhận dạng các tệp, vì đôi khi một tệp có thể không có phần mở rộng tệp chính xác [hoặc có thể không có một tệp nào cả].

    Trong bài viết này, chúng tôi sẽ học cách nhận biết các tệp bằng cách mở rộng của chúng, sử dụng Python. Chúng tôi sẽ sử dụng Thư viện Python Magic để cung cấp các khả năng như vậy cho chương trình của chúng tôi. Để cài đặt thư viện, hãy thực hiện lệnh sau trong Trình thông dịch lệnh hệ điều hành của bạn:-

    ________số 8file. But since it is saved with a .jpg extension, the operating system won’t be able to recognize its actual file type. So this file would be befitting for our program. 

    Python3

    Đối với mục đích trình diễn, chúng tôi sẽ sử dụng tên tệp apple.jpg với các nội dung sau:-

    It's an mp3
    
    3
    It's an mp3
    
    4
    It's an mp3
    
    5
    It's an mp3
    
    6

    Rõ ràng từ nội dung, tệp là một htmlfile. Nhưng vì nó được lưu với tiện ích mở rộng .jpg, hệ điều hành đã giành được có thể nhận ra loại tệp thực tế của nó. Vì vậy, tệp này sẽ phù hợp với chương trình của chúng tôi. & NBSP;

    Output:

    HTML document, ASCII text, with CRLF line terminators
    text/html
    

    Explanation:

    It's an mp3
    
    1
    It's an mp3
    
    2

    Các

    • Đầu tiên chúng tôi nhập thư viện ma thuật. & nbsp; sau đó chúng tôi sử dụng phương thức Magic.from_file [] để đạt được loại tệp có thể đọc được. Sau đó, chúng tôi sử dụng thuộc tính MIME = true để đạt được loại MIME của tệp. & NBSP;
    • Nhận dạng loại tệp bằng cách sử dụng các tiện ích mở rộng cũng tồn tại trong các phiên bản mới hơn của thư viện.
    • Do nhận dạng loại tệp thường xảy ra bằng cách tra cứu dấu vân tay của tiêu đề của tệp, nên không bắt buộc phải tải toàn bộ tệp để nhận dạng loại. Các phần nhỏ của các tệp cũng có thể được cung cấp dưới dạng đối số bằng Magic.From_Buffer [] và chuyển các byte ban đầu của tệp bằng cách sử dụng Open ['file.ext', 'rb']. Đọc [n] [chỉ được khuyến nghị nếu biết về Định dạng tiêu đề của loại tệp].

    Làm thế nào để tôi biết loại tệp trong Python?

    Chúng ta có thể sử dụng hàm module splitext [] của Python OS để có được phần mở rộng tệp.Hàm này chia đường dẫn tệp thành một tuple có hai giá trị - root và phần mở rộng.use Python os module splitext[] function to get the file extension. This function splits the file path into a tuple having two values - root and extension.

    Làm cách nào để kiểm tra các loại tệp?

    Nhấp vào Bắt đầu.Mở bảng điều khiển, nhấp vào bảng điều khiển về nhà và nhấp vào các chương trình. Các chương trình mặc định và nhấp vào liên kết một loại tệp hoặc giao thức với một chương trình.Trên màn hình này, các loại tệp đã đăng ký được hiển thị.Open Control Panel, click Control Panel Home, and click Programs. Click Default Programs, and click Associate a file type or protocol with a program. On this screen, the registered file types are displayed.

    Làm thế nào để bạn kiểm tra xem một tệp là tệp .txt trong python?

    Kiểm tra xem tệp có phải là TXT Python..
    #sử dụng Pathlib ..
    từ đường dẫn nhập pathlib ..
    file_name = path ["file.txt"].
    Nếu file_name.tồn tại []:.
    print["exists"].
    in ["không tồn tại"].

    Các loại tệp dữ liệu trong Python là gì?

    Xác định hai loại dữ liệu chính trong Python: văn bản và số.Kiểm tra cấu trúc của một khung dữ liệu.Sửa đổi định dạng của các giá trị trong DataFrame.

    Bài Viết Liên Quan

    Chủ Đề