Danh sách Python mở tệp

Các lập trình viên Python sử dụng nhiều mảng, danh sách và từ điển làm cấu trúc dữ liệu tuần tự hóa. Việc lưu trữ liên tục các cấu trúc dữ liệu này yêu cầu tệp hoặc cơ sở dữ liệu hoạt động bình thường

Trong bài viết này, chúng ta sẽ xem cách ghi danh sách vào tệp và cách đọc lại danh sách đó vào bộ nhớ

Để ghi dữ liệu vào một tệp và để đọc dữ liệu từ một tệp, ngôn ngữ lập trình Python cung cấp các phương thức tiêu chuẩn write()read() để xử lý một dòng, cũng như writelines()readlines() để xử lý nhiều dòng. Hơn nữa, cả mô-đun picklejson cũng cho phép các cách xử lý thông minh với các tập dữ liệu được xê-ri hóa

Sử dụng các Phương thức read() và write()

Để xử lý các ký tự (chuỗi), các phương thức cơ bản read()write() hoạt động xuất sắc. Việc lưu từng dòng một danh sách như vậy vào tệp listfile.txt có thể được thực hiện như sau

Đầu tiên, listitem được mở rộng bằng cách ngắt dòng read()0, sau đó được lưu vào tệp đầu ra. Bây giờ chúng ta có thể xem cách đọc toàn bộ danh sách từ tệp listfile.txt vào bộ nhớ

Hãy nhớ rằng bạn sẽ cần xóa dấu ngắt dòng ở cuối chuỗi. Trong trường hợp này, nó giúp chúng ta rằng Python cũng cho phép liệt kê các thao tác trên chuỗi. Việc loại bỏ này được thực hiện đơn giản như một thao tác danh sách trên chính chuỗi, giữ mọi thứ trừ phần tử cuối cùng. Phần tử này chứa ký tự read()0 đại diện cho ngắt dòng trên hệ thống UNIX/Linux

Sử dụng các Phương thức writelines() và readlines()

Như đã đề cập ở đầu bài viết này, Python cũng chứa hai phương thức - writelines()readlines() - để viết và đọc nhiều dòng trong một bước, tương ứng. Hãy ghi toàn bộ danh sách vào một tệp trên đĩa

Để đọc toàn bộ danh sách từ một tệp trên đĩa, chúng ta cần

Đoạn mã trên tuân theo cách tiếp cận truyền thống hơn được vay mượn từ các ngôn ngữ lập trình khác. Hãy viết nó theo cách Pythonic hơn

Thứ nhất, nội dung tệp được đọc qua readlines(). Thứ hai, trong một vòng lặp read()6 từ mỗi dòng, ký tự ngắt dòng được loại bỏ bằng cách sử dụng phương thức read()7. Thứ ba, chuỗi được thêm vào danh sách địa điểm dưới dạng mục danh sách mới

So với danh sách trước mã này nhỏ gọn hơn nhiều, nhưng có thể khó đọc hơn đối với các lập trình viên Python mới bắt đầu

Sử dụng Mô-đun Joblib

Các phương pháp ban đầu được giải thích cho đến nay lưu trữ danh sách theo cách mà con người vẫn có thể đọc được - theo đúng nghĩa đen là một danh sách tuần tự trong một tệp. Điều này thật tuyệt vời để tạo các báo cáo đơn giản hoặc xuất tệp xuất để người dùng sử dụng thêm, chẳng hạn như tệp CSV. Tuy nhiên - nếu mục đích của bạn là chỉ tuần tự hóa một danh sách thành một tệp, có thể được tải sau này, thì không cần phải lưu trữ nó ở định dạng mà con người có thể đọc được

Mô-đun read()8 cung cấp cách dễ dàng nhất để kết xuất một đối tượng Python (thực sự có thể là bất kỳ đối tượng nào)

read()8 vẫn là cách đơn giản và rõ ràng nhất để tuần tự hóa các đối tượng ở định dạng hiệu quả và tải chúng sau. Bạn có thể sử dụng bất kỳ định dạng tùy ý nào, chẳng hạn như writelines()0, writelines()1, v.v. Nó không thực sự quan trọng - cả read()8 và các lựa chọn thay thế như pickle sẽ đọc các tệp tốt

Sử dụng Mô-đun dưa chua

Để thay thế cho read()8, chúng ta có thể sử dụng pickle. Phương thức writelines()6 của nó lưu trữ danh sách một cách hiệu quả dưới dạng luồng dữ liệu nhị phân. Đầu tiên, tệp đầu ra writelines()7 được mở để ghi nhị phân (writelines()8). Thứ hai, danh sách được lưu trữ trong tệp đã mở bằng phương pháp writelines()6

Bước tiếp theo ta đọc danh sách từ file như sau. Đầu tiên, tệp đầu ra writelines()7 được mở nhị phân để đọc (readlines()1). Thứ hai, danh sách các địa điểm được tải từ tệp bằng phương pháp readlines()2

Hai ví dụ ở đây chứng minh việc sử dụng các chuỗi. Mặc dù, pickle hoạt động với tất cả các loại đối tượng Python như chuỗi, số, cấu trúc tự xác định và mọi cấu trúc dữ liệu tích hợp khác mà Python cung cấp

Sử dụng định dạng JSON

Định dạng dữ liệu nhị phân mà pickle sử dụng dành riêng cho Python. Để cải thiện khả năng tương tác giữa các chương trình khác nhau, Ký hiệu đối tượng JavaScript (JSON) cung cấp một lược đồ dễ sử dụng và con người có thể đọc được, do đó trở nên rất phổ biến để tuần tự hóa các tệp và chia sẻ chúng qua các API

Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó

Ví dụ sau minh họa cách ghi danh sách các loại biến hỗn hợp vào tệp đầu ra bằng mô-đun json. Sau khi mở tệp đầu ra để ghi, phương thức writelines()6 lưu trữ danh sách cơ bản trong tệp bằng ký hiệu JSON

Đọc nội dung của tệp đầu ra trở lại bộ nhớ cũng đơn giản như ghi dữ liệu. Phương thức tương ứng với writelines()6 được đặt tên là readlines()2

Phần kết luận

Các phương pháp khác nhau mà chúng tôi đã trình bày ở trên bao gồm từ ghi/đọc dữ liệu đơn giản cho đến kết xuất/tải dữ liệu qua luồng nhị phân bằng cách sử dụng dưa chua và JSON. Điều này đơn giản hóa việc lưu trữ một danh sách liên tục và đọc lại vào bộ nhớ

Bạn có thể mở tệp bằng Python không?

Mở tệp bằng Python . Để minh họa cách chúng tôi mở tệp bằng Python, giả sử chúng tôi có tệp có tên test. txt với nội dung sau. Bây giờ, hãy thử mở dữ liệu từ tệp này bằng hàm open(). Ở đây, chúng tôi đã tạo một đối tượng tệp có tên tệp1. In Python, we use the open() method to open files. To demonstrate how we open files in Python, let's suppose we have a file named test.txt with the following content. Now, let's try to open data from this file using the open() function. Here, we have created a file object named file1 .

Làm cách nào để đọc đường dẫn tệp trong Python?

Để có được Thư mục làm việc hiện tại bằng Python, hãy sử dụng os. phương thức getcwd() . Hàm này của mô-đun Python OS trả về chuỗi chứa đường dẫn tuyệt đối đến thư mục làm việc hiện tại.