Để đọc hoặc ghi tệp nhị phân, trước tiên, bạn cần hiểu các chế độ tệp khác nhau cho Tệp nhị phân trong Python −
ModeDescriptionrbMở một tệp chỉ để đọc ở định dạng nhị phân. Con trỏ tệp được đặt ở đầu tệp. Đây là chế độ mặc định. rb+Mở tệp cho cả đọc và ghi ở định dạng nhị phân. Con trỏ tệp đặt ở đầu tệp. wbMở một tệp chỉ để ghi ở định dạng nhị phân. Ghi đè tệp nếu tệp tồn tại. Nếu tệp không tồn tại, hãy tạo một tệp mới để ghi. wb+Mở tệp cho cả ghi và đọc ở định dạng nhị phân. Ghi đè lên tệp hiện có nếu tệp tồn tại. Nếu tệp không tồn tại, hãy tạo một tệp mới để đọc và ghi. abMở tệp để nối thêm ở định dạng nhị phân. Con trỏ tệp ở cuối tệp nếu tệp tồn tại. Tức là tệp đang ở chế độ chắp thêm. Nếu tệp không tồn tại, nó sẽ tạo một tệp mới để ghi. ab+Mở tệp cho cả việc nối thêm và đọc ở định dạng nhị phân. Con trỏ tệp ở cuối tệp nếu tệp tồn tại. Tệp mở ở chế độ chắp thêm. Nếu tệp không tồn tại, nó sẽ tạo một tệp mới để đọc và ghiĐọc một tập tin nhị phân
Giả sử chúng ta có một tệp nhị phân. Chúng ta có thể đọc nó bằng phương thức read[]. Đầu tiên, chúng ta sẽ mở Tệp nhị phân bằng chế độ rb của phương thức open[]. Chúng tôi có tệp nguồn sau trong D. lái xe -
Thí dụ
Hãy xem mã hoàn chỉnh
đầu ra
Tệp nhị phân không thể đọc được và nội dung không thể nhận dạng được. Sản lượng thực tế lớn hơn. Chúng tôi chỉ hiển thị một số phần bên dưới
Trong bài viết này, tôi sẽ thảo luận Làm việc với các tệp nhị phân trong Python với các ví dụ. Vui lòng đọc bài viết trước của chúng tôi, nơi chúng tôi thảo luận về Tệp trong Python. Là một phần của bài viết này, chúng ta sẽ thảo luận chi tiết về các gợi ý sau có liên quan đến các tệp nhị phân trong Python- Làm việc với các tệp nhị phân trong Python
- Làm việc với tệp csv trong Python
- ZIPPING và UNZIPPING tệp trong Python
- Làm việc với các thư mục trong Python
- Pickling và Unpickling trong Python
Yêu cầu rất phổ biến là đọc hoặc ghi dữ liệu nhị phân như hình ảnh, tệp video, tệp âm thanh, v.v.
Chương trình. Dữ liệu nhị phân [demo14. py]
f1=open["thor.jpeg", "rb"] f2=open["newpic.jpeg", "wb"] bytes=f1.read[] f2.write[bytes] print["New Image is available with the name: newpic.jpg"]
đầu ra.
Csv có nghĩa là các giá trị được phân tách bằng dấu phẩy. Là một phần của lập trình, yêu cầu rất phổ biến là ghi và đọc các tệp csv ghi dữ liệu. Python cung cấp một mô-đun csv để xử lý các tệp csv
Chương trình. Tệp CSV [demo15. py]
import csv with open["emp.csv", "w", newline=''] as f: w=csv.writer[f] w.writerow[["EMP NO","EMP NAME","EMP SAL","EMP ADDR"]] n=int[input["Enter Number of Employees:"]] for i in range[n]: eno=input["Enter Employee No:"] ename=input["Enter Employee Name:"] esal=input["Enter Employee Salary:"] eaddr=input["Enter Employee Address:"] w.writerow[[eno, ename, esal, eaddr]] print["Total Employees data written to csv file successfully"]
đầu ra
Tập tin. emp. nội dung csv
Đó là một yêu cầu rất phổ biến để nén và giải nén tệp. Những lợi thế chính là
- Để cải thiện việc sử dụng bộ nhớ
- Chúng tôi có thể giảm thời gian chuyển
- Chúng tôi có thể cải thiện hiệu suất
Để thực hiện các thao tác nén và giải nén, Python chứa một mô-đun trong bulit 'zipfile'. Mô-đun này chứa một lớp ZipFile mà chúng ta sẽ sử dụng trong các ví dụ
Tạo ZipFile bằng PythonChúng ta phải tạo một đối tượng cho lớp ZipFile với tên mà chúng ta muốn đặt cho tệp zip, chế độ và hằng số ZIP_DEFLATED. Hằng số này thể hiện chúng tôi đang tạo một tệp zip
Cú pháp. f = ZipFile[“tệp. zip”, “w”, “ZIP_DEFLATED”]
Sau khi hoàn thành việc tạo đối tượng ZipFile, chúng ta có thể thêm tệp bằng cách sử dụng phương thức write[] f. ghi[tên tệp]
Chương trình. Tệp zip bằng Python [demo16. py]
from zipfile import * f=ZipFile["files.zip", 'w', ZIP_DEFLATED] f.write["abc.txt"] f.write["thor.jpeg"] f.write["names.txt"] f.close[] print["files.zip file created successfully"]
đầu ra.
Bây giờ bạn có thể kiểm tra thư mục hiện tại để tìm tệp có tên 'tệp. zip' và nó sẽ ở đó
Chúng ta cần tạo một đối tượng giống như cách chúng ta đã làm để nén tệp. Nhưng các giá trị đối số ở đây là khác nhau
f = ZipFile[“tệp. zip”, “r”, ZIP_STORED]
ZIP_STORED đại diện cho hoạt động giải nén. Đây là giá trị mặc định và do đó sẽ không sao ngay cả khi chúng tôi chưa chỉ định
Khi chúng tôi đã tạo đối tượng ZipFile cho thao tác giải nén, chúng tôi có thể lấy tất cả các tên tệp có trong tệp zip đó bằng cách sử dụng phương thức namelist[]
Chương trình. Giải nén bằng Python[demo17. py]
from zipfile import * f=ZipFile["files.zip", 'r', ZIP_STORED] names=f.namelist[] for name in names: print[ "File Name: ",name]
đầu ra
Khi làm việc với hệ thống tệp, các yêu cầu phổ biến ngoài các thao tác trên tệp, chúng tôi đi qua là
- Để biết thư mục làm việc hiện tại
- Để tạo một thư mục mới
- Để xóa một thư mục hiện có
- Để đổi tên một thư mục
- Để liệt kê nội dung của thư mục vv…
Để đạt được các yêu cầu trên, trong python, chúng ta có thể sử dụng module ‘os’. Nó chứa một số chức năng để thực hiện các hoạt động liên quan đến thư mục
Chương trình. Ví dụ về mô-đun hệ điều hành [demo18. py]
import os cwd=os.getcwd[] print["Current Working Directory:" ,cwd]
đầu ra.
import os os.mkdir["mysub"] print["mysub directory created in current working directory"]
đầu ra.
Bây giờ bạn có thể kiểm tra thư mục có tên ‘sub1’ trong thư mục làm việc hiện tại của mình
Chương trình. Tạo nhiều thư mục trong Python [demo20. py]import os os.makedirs["sub1/sub2/sub3"] print["sub1 and in that sub2 and in that sub3 directories created"]
đầu ra.
import os os.rmdir["mysub"] print["mysub2 directory deleted"]
đầu ra.
Chương trình. Xóa tất cả Thư mục trong Python [demo22. py]
________số 8_______đầu ra.
Đôi khi chúng ta phải ghi tổng trạng thái của đối tượng vào tệp và chúng ta phải đọc tổng đối tượng từ tệp. Quá trình ghi trạng thái của một đối tượng vào tệp được gọi là pickling và quá trình đọc trạng thái của một đối tượng từ tệp được gọi là unpickling
Chúng ta có thể triển khai pickling và unpickling bằng cách sử dụng module pickle của Python. Mô-đun Pickle chứa hàm dump[] để thực hiện việc tẩy và mô-đun pickle chứa hàm load[] để thực hiện việc bỏ dưa
dưa chua. kết xuất [đối tượng, tập tin]
obj=dưa chua. tải tập tin]
Chương trình. Pickling và Unpickling trong Python [demo23. py]import pickle class Employee: def __init__[self, eno, ename, esal, eaddr]: self.eno=eno self.ename=ename self.esal=esal self.eaddr=eaddr def display[self]: print[self.eno,"\t", self.ename,"\t", self.esal,"\t",self.eaddr] with open["emp.dat","wb"] as f: e=Employee[100,"Nireekshan",1000,"Hyd"] pickle.dump[e,f] print["Pickling of Employee Object completed..."] with open["emp.dat","rb"] as f: obj=pickle.load[f] print["Printing Employee Information after unpickling"] obj.display[]
đầu ra
Trong bài viết tiếp theo, tôi sẽ thảo luận về Biểu thức chính quy trong Python với các ví dụ. Ở đây, trong bài viết này, tôi cố gắng giải thích Làm việc với các tệp nhị phân trong Python bằng các ví dụ. Tôi hy vọng bạn thích bài viết Tệp nhị phân trong Python này. Tôi muốn có phản hồi của bạn. Vui lòng gửi phản hồi, câu hỏi hoặc nhận xét của bạn về bài viết này