Hướng dẫn how does python handle multiple text files? - python xử lý nhiều tệp văn bản như thế nào?
Xử lý nhiều tập tinTrong bài học trước của chúng tôi, chúng tôi đã phân tích các giá trị từ các tệp đầu ra. Mặc dù bạn có thể đã thấy tiện ích của việc làm như vậy, nhưng bạn cũng có thể tự hỏi tại sao chúng tôi không chỉ tìm kiếm tệp và cắt và dán các giá trị mà chúng tôi muốn vào một bảng tính. Nếu bạn chỉ có 1 hoặc 2 tệp, đây có thể là một điều rất hợp lý để làm. Nhưng nếu bạn có 100 tệp để phân tích? Nếu bạn có 1000 thì sao? Trong trường hợp như vậy, phương pháp cắt và dán sẽ rất tẻ nhạt và tốn thời gian. Một trong những quyền hạn thực của việc viết một chương trình để phân tích dữ liệu của bạn là bạn có thể dễ dàng phân tích 100 tệp như 1 tệp. Trong ví dụ này, chúng tôi sẽ phân tích các tệp đầu ra cho toàn bộ một loạt các hợp chất rượu aliphatic và phân tích giá trị năng lượng cho mỗi loại. Tất cả các tệp đầu ra đều được lưu trong một thư mục có tên là Dà trang mà bạn nên tải xuống trong thiết lập cho bài học này. Hãy chắc chắn rằng thư mục nằm trong cùng thư mục với thư mục nơi bạn đang viết và thực thi mã của mình. Để phân tích nhiều tệp, chúng tôi sẽ cần nhập thư viện Python. Thư viện là một tập hợp các mô -đun có chứa các chức năng. Các chức năng trong thư viện hoặc mô -đun thường liên quan đến nhau. Sử dụng các thư viện và trong Python làm giảm số lượng mã bạn phải viết. Trong bài học cuối cùng, chúng tôi đã nhập 4, đó là một mô -đun xử lý các filepaths cho chúng tôi.library. A library is a set of modules which contain functions. The functions within a library or module are usually related to one another. Using libraries and in Python reduces the amount of code you have to write. In the last lesson, we imported 4, which was a module that handled filepaths for us.Trong bài học này, chúng tôi sẽ sử dụng thư viện 5, điều này sẽ giúp chúng tôi đọc trong nhiều tệp từ máy tính của chúng tôi. Trong một thư viện có các mô -đun và chức năng thực hiện một nhiệm vụ tính toán cụ thể. Thông thường một chức năng có một số loại đầu vào và cung cấp một đầu ra cụ thể. Để sử dụng một hàm trong thư viện, bạn thường sử dụng ký hiệu dấu chấm được giới thiệu trong bài học trước. Nói chung
Chúng tôi sẽ nhập hai thư viện. Một là thư viện 6 kiểm soát các chức năng liên quan đến hệ điều hành máy tính của bạn. Chúng tôi đã sử dụng thư viện này trong bài học cuối cùng để xử lý FilePaths. Cái còn lại là thư viện 5 chứa các chức năng giúp chúng tôi phân tích nhiều tệp. Nếu chúng ta sẽ phân tích nhiều tệp, trước tiên chúng ta cần chỉ định vị trí của các tệp đó.
Để có được tất cả các tệp phù hợp với một mẫu cụ thể, chúng tôi sẽ sử dụng ký tự đại diện 9.
Điều này chỉ định rằng chúng tôi muốn tìm kiếm tất cả các tệp trong một thư mục có tên là 0 kết thúc bằng cách .Out. * Là ký tự đại diện phù hợp với bất kỳ ký tự nào.Tiếp theo chúng ta sẽ sử dụng một hàm gọi là 5 trong thư viện có tên là 5. Đó là một chút khó hiểu vì hàm và thư viện có cùng tên, nhưng chúng ta sẽ thấy các ví dụ khác mà đây không phải là trường hợp sau này. Đầu ra của hàm 5 là danh sách tất cả các tên tệp phù hợp với mẫu được chỉ định trong đầu vào. Đầu vào là vị trí tệp.
Điều này sẽ cung cấp cho chúng tôi một danh sách tất cả các tệp kết thúc trong 4 trong thư mục 5. Bây giờ nếu chúng ta muốn phân tích mọi tệp chúng ta vừa đọc, chúng ta sẽ sử dụng vòng lặp 3 để đi qua mỗi tệp.
Lưu ý rằng trong mã này, chúng tôi thực sự đã sử dụng hai vòng 3, một vòng khác nhau bên trong cái kia. Vòng lặp 3 bên ngoài được tính trên các tên tệp mà chúng ta đọc trước đó. Vòng lặp 3 bên trong được tính trên dòng trong mỗi tệp, giống như chúng tôi đã làm trong bài học phân tích tệp trước đây của chúng tôi.Đầu ra Mã của chúng tôi hiện đang tạo ra không hữu ích. Nó không cho chúng ta thấy tệp mà mỗi giá trị năng lượng đến từ đó. Chúng tôi muốn in tên của phân tử với năng lượng. Chúng ta có thể sử dụng 0, đây là một chức năng khác trong 4 để chỉ nhận tên của tệp.
Điều này chỉ định rằng chúng tôi muốn tìm kiếm tất cả các tệp trong một thư mục có tên là 0 kết thúc bằng cách .Out. * Là ký tự đại diện phù hợp với bất kỳ ký tự nào. 0 1Tiếp theo chúng ta sẽ sử dụng một hàm gọi là file_location = os.path.join('data', 'outfiles', '*.out') print(file_location) 5 trong thư viện có tên là file_location = os.path.join('data', 'outfiles', '*.out') print(file_location) 5. Đó là một chút khó hiểu vì hàm và thư viện có cùng tên, nhưng chúng ta sẽ thấy các ví dụ khác mà đây không phải là trường hợp sau này. Đầu ra của hàm file_location = os.path.join('data', 'outfiles', '*.out') print(file_location) 5 là danh sách tất cả các tên tệp phù hợp với mẫu được chỉ định trong đầu vào. Đầu vào là vị trí tệp.Điều này sẽ cung cấp cho chúng tôi một danh sách tất cả các tệp kết thúc trong 4 trong thư mục 5. Bây giờ nếu chúng ta muốn phân tích mọi tệp chúng ta vừa đọc, chúng ta sẽ sử dụng vòng lặp 3 để đi qua mỗi tệp. 2 3 có nghĩa là mở tệp để viết. Nếu bạn sử dụng 4 có nghĩa là mở tệp để viết và nếu tệp không tồn tại, hãy tạo nó. Bạn cũng có thể sử dụng 5 để nối vào tệp hiện có hoặc 6. Sự khác biệt giữa 4 và 6 là 4 sẽ ghi đè lên tệp nếu nó đã tồn tại, trong khi 6 sẽ giữ những gì đã có và chỉ thêm văn bản bổ sung vào tệp.Python chỉ có thể viết chuỗi vào các tập tin. Tuyên bố in hiện tại của chúng tôi không phải là một chuỗi; Nó in hai biến Python. Để chuyển đổi những gì chúng ta có bây giờ thành một chuỗi, bạn đặt một vốn F trước dòng bạn muốn in và gửi nó trong các trích dẫn đơn. Mỗi biến python được đặt trong niềng răng. Sau đó, bạn có thể in dòng (như chúng tôi đã làm trước đây) hoặc bạn có thể sử dụng lệnh 1 để in nó vào một tệp.F in front of the line you want to print and enclose it in single quotes. Each python variable is placed in braces. Then you can either print the line (as we have done before) or you can use the 1 command to print it to a file.Để làm gọn gàng hơn, chúng tôi sẽ tách tên tệp khỏi năng lượng bằng một tab. Để chèn một tab, chúng tôi sử dụng ký tự đặc biệt 2. 3Sau khi bạn chạy lệnh này, hãy nhìn vào thư mục nơi bạn chạy mã của mình và tìm tệp Energies.txt.txt. Mở nó trong một trình soạn thảo văn bản và nhìn vào tệp. Trong dòng viết tệp, hãy chú ý 3 ở cuối dòng. Đây là nhân vật Newline. Không có nó, văn bản trong tập tin của chúng tôi sẽ được kết hợp với nhau trên một dòng. Ngoài ra, lệnh 4 là rất quan trọng. Hãy nghĩ về một máy tính như một người có trí nhớ rất tốt, nhưng rất chậm trong việc viết. Do đó, khi bạn bảo máy tính viết một dòng, nó nhớ những gì bạn muốn nó viết, nhưng nó thực sự không viết tệp mới cho đến khi bạn nói với nó rằng bạn đã hoàn thành. Lệnh 5 cho máy tính nói rằng bạn đã hoàn thành việc viết nó và nó sẽ tiếp tục và viết tệp ngay bây giờ. Nếu bạn đang cố gắng viết một tệp và tệp tiếp tục trống, có lẽ là do bạn quên đóng tệp.Một ghi chú cuối cùng về định dạng chuỗiKý hiệu F hèString mà bạn có thể sử dụng với bản in hoặc lệnh ghi cho phép bạn định dạng chuỗi theo nhiều cách. Bạn có thể bao gồm các từ khác hoặc toàn bộ câu. Ví dụ: chúng tôi có thể thay đổi dòng ghi tệp thành 4trong đó bất cứ thứ gì trong niềng răng là một biến python và nó sẽ in giá trị của biến đó. Chuyển nhượng dự ánĐây là một nhiệm vụ dự án mà bạn có thể hoàn thành để kiểm tra các kỹ năng của mình. Dự án này nên được sử dụng khi tài liệu này được sử dụng trong một hội thảo dài, hoặc nếu bạn đang làm việc thông qua tài liệu này một cách độc lập.
Bạn có thể mở nhiều tệp văn bản trong Python không?Các bước được sử dụng để mở nhiều tệp với nhau trong Python: cả hai tệp được mở bằng phương thức mở () bằng cách sử dụng các tên khác nhau cho mỗi tệp. Nội dung của các tệp có thể được truy cập bằng phương thức readline (). Các hoạt động đọc/ghi khác nhau có thể được thực hiện trên nội dung của các tệp này.Both the files are opened with an open() method using different names for each. The contents of the files can be accessed using the readline() method. Different read/write operations can be performed over the contents of these files.
Làm cách nào để đọc nhiều tệp .text từ thư mục trong Python?Nhập mô -đun HĐH trong sổ ghi chép của bạn.Xác định một đường dẫn nơi các tệp văn bản được đặt trong hệ thống của bạn.Tạo một danh sách các tệp và lặp lại để tìm xem tất cả chúng có mở rộng chính xác hay không.Đọc các tệp bằng hàm được xác định trong mô -đun.
Làm thế nào để bạn viết nhiều tệp văn bản trong Python?Chỉ cần thêm '\ n' trong 'file.write ("{}, \ n".add '\n' in 'file. write("{},\n".
Làm thế nào để bạn xử lý nhiều tệp trong Python?Sử dụng chức năng GLOB trong Thư viện Python để tìm tất cả các tệp bạn muốn phân tích.Bạn có thể có nhiều vòng cho các vòng lồng bên trong nhau.Python chỉ có thể in chuỗi vào các tập tin.Đừng quên đóng các tệp nên Python thực sự sẽ viết chúng.. You can have multiple for loops nested inside each other. Python can only print strings to files. Don't forget to close files so python will actually write them. |