Python nhập tệp văn bản từ thư mục khác
Python có một số mô-đun và chức năng tích hợp để xử lý tệp. Các chức năng này được trải rộng trên một số mô-đun, chẳng hạn như 02, 03, 04 và 05, để kể tên một số. Bài viết này tập hợp tại một nơi nhiều hàm bạn cần biết để thực hiện các thao tác phổ biến nhất trên tệp trong Python Show
Trong hướng dẫn này, bạn sẽ học cách
Tiền thưởng miễn phí. 5 Suy nghĩ về Làm chủ Python, một khóa học miễn phí dành cho các nhà phát triển Python cho bạn thấy lộ trình và tư duy mà bạn sẽ cần để đưa các kỹ năng Python của mình lên một tầm cao mới Mô hình “với open(…) as…” của PythonĐọc và ghi dữ liệu vào tệp bằng Python khá đơn giản. Để làm điều này, trước tiên bạn phải mở tệp ở chế độ thích hợp. Đây là một ví dụ về cách sử dụng mẫu “with open(…) as…” của Python để mở một tệp văn bản và đọc nội dung của nó
07 lấy tên tệp và chế độ làm đối số. 08 mở tệp ở chế độ chỉ đọc. Để ghi dữ liệu vào một tệp, thay vào đó hãy chuyển vào 09 làm đối số
Trong các ví dụ trên, 07 mở tệp để đọc hoặc ghi và trả về một thẻ xử lý tệp ( 11 trong trường hợp này) cung cấp các phương thức có thể được sử dụng để đọc hoặc ghi dữ liệu vào tệp. Hãy xem Đọc và ghi tệp bằng Python và Làm việc với I/O tệp bằng Python để biết thêm thông tin về cách đọc và ghi vào tệpLoại bỏ các quảng cáoLấy danh sách thư mụcGiả sử thư mục làm việc hiện tại của bạn có một thư mục con tên là 12 có các nội dung sau
Mô-đun 02 tích hợp có một số chức năng hữu ích có thể được sử dụng để liệt kê nội dung thư mục và lọc kết quả. Để có danh sách tất cả các tệp và thư mục trong một thư mục cụ thể trong hệ thống tệp, hãy sử dụng 14 trong các phiên bản cũ của Python hoặc 15 trong Python 3. x. 15 là phương pháp ưa thích để sử dụng nếu bạn cũng muốn nhận các thuộc tính của tệp và thư mục, chẳng hạn như kích thước tệp và ngày sửa đổiDanh sách thư mục trong các phiên bản Python kế thừaTrong các phiên bản Python trước Python 3, 14 là phương pháp được sử dụng để lấy danh sách thư mục>>>
14 trả về một danh sách Python chứa tên của các tệp và thư mục con trong thư mục được cung cấp bởi đối số đường dẫn>>>
Một danh sách thư mục như thế không dễ đọc. In ra đầu ra của lệnh gọi tới 14 bằng cách sử dụng vòng lặp giúp dọn dẹp mọi thứ>>>
Danh sách thư mục trong các phiên bản Python hiện đạiTrong các phiên bản hiện đại của Python, một giải pháp thay thế cho 14 là sử dụng 15 và 22 15 đã được giới thiệu trong Python 3. 5 và được ghi lại trong PEP 471. 15 trả về một iterator thay vì một danh sách khi được gọi>>>
25 trỏ tới tất cả các mục trong thư mục hiện tại. Bạn có thể lặp lại nội dung của iterator và in ra tên tệp
Ở đây, 15 được sử dụng cùng với câu lệnh 27 vì nó hỗ trợ giao thức quản lý ngữ cảnh. Sử dụng trình quản lý bối cảnh sẽ đóng trình vòng lặp và tự động giải phóng các tài nguyên đã thu được sau khi sử dụng hết trình vòng lặp. Kết quả là một bản in tên tệp trong 28 giống như bạn đã thấy trong ví dụ 14
Một cách khác để lấy danh sách thư mục là sử dụng mô-đun 05
Các đối tượng được trả về bởi 31 là đối tượng 32 hoặc 33 tùy thuộc vào hệ điều hànhCác đối tượng 22 có một phương thức 35 để tạo một trình vòng lặp của tất cả các tệp và thư mục trong một thư mục. Mỗi mục do 35 tạo ra chứa thông tin về tệp hoặc thư mục như tên và thuộc tính tệp của nó. 05 lần đầu tiên được giới thiệu trong Python 3. 4 và là một bổ sung tuyệt vời cho Python cung cấp giao diện hướng đối tượng cho hệ thống tệpTrong ví dụ trên, bạn gọi 22 và truyền đối số đường dẫn cho nó. Tiếp theo là cuộc gọi đến 35 để lấy danh sách tất cả các tệp và thư mục trong 12 05 cung cấp một tập hợp các lớp bao gồm hầu hết các hoạt động phổ biến trên các đường dẫn theo cách hướng đối tượng dễ dàng. Sử dụng 05 sẽ hiệu quả hơn nếu không muốn nói là sử dụng các chức năng trong 02. Một lợi ích khác của việc sử dụng 05 thay vì 02 là nó giảm số lần nhập mà bạn cần thực hiện để thao tác các đường dẫn hệ thống tệp. Để biết thêm thông tin, hãy đọc Mô-đun pathlib của Python 3. Thuần hóa hệ thống tập tinGhi chú. Để bắt đầu với 05, hãy xem Khái niệm cơ bản về Python. File System Operations và các bài tập liên quanChạy đoạn mã trên tạo ra như sau
Sử dụng 22 hoặc 15 thay vì 14 là cách ưa thích để nhận danh sách thư mục, đặc biệt khi bạn đang làm việc với mã cần loại tệp và thông tin thuộc tính tệp. 22 cung cấp nhiều chức năng xử lý tệp và đường dẫn có trong 02 và 04, đồng thời các phương thức của nó hiệu quả hơn một số phương thức được tìm thấy trong các mô-đun này. Chúng tôi sẽ sớm thảo luận về cách lấy thuộc tính tệpĐây là các chức năng liệt kê thư mục một lần nữa Mô tả chức năng 14Trả về danh sách tất cả các tệp và thư mục trong một thư mục 15Trả về một trình vòng lặp của tất cả các đối tượng trong một thư mục bao gồm thông tin thuộc tính tệp 55Trả về một trình lặp của tất cả các đối tượng trong một thư mục bao gồm thông tin thuộc tính tệpCác hàm này trả về danh sách mọi thứ trong thư mục, bao gồm cả thư mục con. Đây có thể không phải lúc nào cũng là hành vi bạn muốn. Phần tiếp theo sẽ chỉ cho bạn cách lọc kết quả từ danh sách thư mục Loại bỏ các quảng cáoLiệt kê tất cả các tệp trong một thư mụcPhần này sẽ chỉ cho bạn cách in ra tên của các tệp trong một thư mục bằng cách sử dụng 14, 15 và 22. Để lọc ra các thư mục và chỉ liệt kê các tệp từ danh sách thư mục được tạo bởi 14, hãy sử dụng 03 1Ở đây, lệnh gọi tới ___0_______14 trả về danh sách mọi thứ trong đường dẫn đã chỉ định, sau đó danh sách đó được lọc bởi ____0_______62 để chỉ in ra các tệp chứ không phải thư mục. Điều này tạo ra đầu ra sau 2Một cách dễ dàng hơn để liệt kê các tệp trong một thư mục là sử dụng 15 hoặc 22 3Sử dụng 15 có ưu điểm là trông gọn gàng và dễ hiểu hơn so với sử dụng 14, mặc dù nó dài hơn một dòng mã. Gọi 67 trên mỗi mục trong 25 trả về 69 nếu đối tượng là một tệp. In ra tên của tất cả các tệp trong thư mục sẽ cho bạn đầu ra sau 2Đây là cách liệt kê các tệp trong một thư mục bằng cách sử dụng 22 5Ở đây, bạn gọi 71 trên mỗi mục do 35 mang lại. Sản lượng được sản xuất là như nhau 2Đoạn mã trên có thể ngắn gọn hơn nếu bạn kết hợp vòng lặp 73 và câu lệnh 74 vào một biểu thức trình tạo duy nhất. Dan Bader có một bài viết xuất sắc về biểu thức trình tạo và cách hiểu danh sáchPhiên bản sửa đổi trông như thế này 7Điều này tạo ra chính xác đầu ra giống như ví dụ trước nó. Phần này cho thấy rằng việc lọc các tệp hoặc thư mục bằng cách sử dụng 15 và 22 mang lại cảm giác trực quan hơn và trông gọn gàng hơn so với việc sử dụng 14 kết hợp với 03Liệt kê các thư mục conĐể liệt kê các thư mục con thay vì tệp, hãy sử dụng một trong các phương pháp bên dưới. Đây là cách sử dụng 14 và 80 8Thao tác với các đường dẫn hệ thống tệp theo cách này có thể nhanh chóng trở nên cồng kềnh khi bạn có nhiều lệnh gọi tới 81. Chạy cái này trên máy tính của tôi tạo ra đầu ra sau 9Đây là cách sử dụng 15 0Như trong ví dụ liệt kê tệp, ở đây bạn gọi 83 trên mỗi mục được trả về bởi 15. Nếu mục nhập là một thư mục, 83 trả về 69 và tên của thư mục được in ra. Đầu ra giống như trên 9Đây là cách sử dụng 22 2Gọi 83 trên mỗi mục của trình vòng lặp 89 để kiểm tra xem mục đó là một tệp hay một thư mục. Nếu mục nhập là một thư mục, tên của nó sẽ được in ra màn hình và đầu ra được tạo giống với đầu ra trong ví dụ trước 9Loại bỏ các quảng cáoLấy thuộc tính tệpPython giúp truy xuất các thuộc tính tệp như kích thước tệp và thời gian sửa đổi dễ dàng. Điều này được thực hiện thông qua 90, 15 hoặc 22 15 và 22 truy xuất danh sách thư mục với các thuộc tính tệp được kết hợp. Điều này có thể hiệu quả hơn so với việc sử dụng 14 để liệt kê các tệp và sau đó lấy thông tin thuộc tính tệp cho từng tệpCác ví dụ dưới đây cho thấy cách lấy thời gian các tệp trong 28 được sửa đổi lần cuối. Đầu ra tính bằng giây>>> 4 15 trả về một đối tượng 25. Mỗi mục trong một đối tượng 25 có một phương thức 00 truy xuất thông tin về tệp hoặc thư mục mà nó trỏ tới. 00 cung cấp thông tin như kích thước tệp và thời gian sửa đổi lần cuối. Trong ví dụ trên, mã in ra thuộc tính 02, là thời gian nội dung của tệp được sửa đổi lần cuốiMô-đun 05 có các phương pháp truy xuất thông tin tệp tương ứng cho kết quả tương tự>>> 5Trong ví dụ trên, mã lặp qua đối tượng được trả về bởi 35 và truy xuất các thuộc tính tệp thông qua lệnh gọi 00 cho mỗi tệp trong danh sách thư mục. Thuộc tính 02 trả về một giá trị float đại diện cho. Để chuyển đổi các giá trị được trả về bởi 02 cho mục đích hiển thị, bạn có thể viết hàm trợ giúp để chuyển đổi giây thành đối tượng 08 6Điều này trước tiên sẽ nhận được một danh sách các tệp trong 12 và các thuộc tính của chúng, sau đó gọi 10 để chuyển đổi thời gian sửa đổi lần cuối của mỗi tệp thành dạng có thể đọc được của con người. 10 sử dụng 12 để chuyển đổi thời gian tính bằng giây thành một chuỗiCác đối số được chuyển đến 12 như sau
Cùng với nhau, các lệnh này tạo ra đầu ra trông như thế này >>> 7Cú pháp chuyển đổi ngày và giờ thành chuỗi có thể khá khó hiểu. Để đọc thêm về nó, hãy xem trên đó. Một tài liệu tham khảo hữu ích khác dễ nhớ là http. // strftime. tổ chức/ Tạo thư mụcSớm hay muộn, các chương trình bạn viết sẽ phải tạo các thư mục để lưu trữ dữ liệu trong đó. 02 và 05 bao gồm các chức năng tạo thư mục. Chúng tôi sẽ xem xét nhữngChức năng Mô tả 19Tạo một thư mục con duy nhất 20Tạo một hoặc nhiều thư mục 21Tạo nhiều thư mục, bao gồm các thư mục trung gianTạo một thư mục duy nhấtĐể tạo một thư mục, hãy chuyển đường dẫn đến thư mục dưới dạng tham số cho 19 8Nếu một thư mục đã tồn tại, 19 tăng 24. Ngoài ra, bạn có thể tạo thư mục bằng cách sử dụng 05 9Nếu đường dẫn đã tồn tại, 26 sẽ tạo ra một 24>>> 0Để tránh những lỗi như thế này, hãy nắm bắt lỗi khi nó xảy ra và cho người dùng của bạn biết 1Ngoài ra, bạn có thể bỏ qua 24 bằng cách chuyển đối số 29 cho 30 2Điều này sẽ không gây ra lỗi nếu thư mục đã tồn tại Tạo nhiều thư mục 21 tương tự như 19. Sự khác biệt giữa hai loại này là 21 không chỉ có thể tạo các thư mục riêng lẻ mà còn có thể được sử dụng để tạo cây thư mục. Nói cách khác, nó có thể tạo bất kỳ thư mục trung gian cần thiết nào để đảm bảo tồn tại một đường dẫn đầy đủ 21 tương tự như chạy 35 trong Bash. Ví dụ: để tạo một nhóm các thư mục như 36, tất cả những gì bạn phải làm là như sau 3Thao tác này sẽ tạo cấu trúc thư mục lồng nhau chứa các thư mục 2018, 10 và 05 4 37 tạo thư mục với quyền mặc định. Nếu bạn cần tạo các thư mục với các quyền khác nhau, hãy gọi 37 và chuyển sang chế độ bạn muốn các thư mục được tạo trong 5Điều này tạo cấu trúc thư mục 36 và cung cấp cho chủ sở hữu và người dùng nhóm quyền đọc, viết và thực thi. Chế độ mặc định là 40 và các bit cấp phép tệp của các thư mục mẹ hiện tại không bị thay đổi. Để biết thêm chi tiết về quyền truy cập tệp và cách áp dụng chế độ,Chạy 41 để xác nhận rằng các quyền phù hợp đã được áp dụng 6Điều này in ra một cây thư mục của thư mục hiện tại. 41 thường được sử dụng để liệt kê nội dung của các thư mục ở định dạng giống như cây. Truyền các đối số 43 và 44 cho nó in ra tên thư mục và thông tin cấp phép tệp của chúng trong một danh sách dọc. 43 in ra các quyền của tệp và 44 làm cho 41 tạo ra một danh sách dọc không có dòng thụt đầu dòngNhư bạn có thể thấy, tất cả các thư mục đều có quyền 48. Một cách khác để tạo thư mục là sử dụng 30 từ 50 7Chuyển 51 đến 52 để tạo thư mục 53 và bất kỳ thư mục mẹ nào cần thiết để làm cho đường dẫn hợp lệTheo mặc định, 21 và 52 tăng 56 nếu thư mục đích đã tồn tại. Hành vi này có thể bị ghi đè (kể từ Python 3. 2) bằng cách chuyển 29 làm đối số từ khóa khi gọi từng hàmChạy đoạn mã trên sẽ tạo ra một cấu trúc thư mục giống như bên dưới trong một lần 4Tôi thích sử dụng 05 hơn khi tạo thư mục vì tôi có thể sử dụng chức năng tương tự để tạo các thư mục đơn hoặc lồng nhauKhớp mẫu tên tệpSau khi nhận được danh sách các tệp trong một thư mục bằng một trong các phương pháp trên, rất có thể bạn sẽ muốn tìm kiếm các tệp khớp với một mẫu cụ thể Đây là những phương pháp và chức năng có sẵn cho bạn
Mỗi cái được thảo luận dưới đây. Các ví dụ trong phần này sẽ được thực hiện trên một thư mục có tên là 64 có cấu trúc như sau 9Nếu bạn đang theo dõi bằng cách sử dụng trình bao Bash, bạn có thể tạo cấu trúc thư mục trên bằng cách sử dụng các lệnh sau 0Thao tác này sẽ tạo thư mục 65, thay đổi thành thư mục đó và sau đó tạo 66. Dòng tiếp theo tạo 67 và 68 trong 66 và dòng cuối cùng tạo tất cả các tệp khác bằng cách sử dụng phần mở rộng. Để tìm hiểu thêm về mở rộng vỏ, hãy truy cập trang web nàyLoại bỏ các quảng cáoSử dụng các phương thức chuỗiPython có một số phương thức tích hợp để sửa đổi và thao tác chuỗi. Hai trong số các phương pháp này, 70 và 71, rất hữu ích khi bạn đang tìm kiếm các mẫu trong tên tệp. Để làm điều này, trước tiên hãy lấy một danh sách thư mục và sau đó lặp lại nó>>> 1Đoạn mã trên tìm tất cả các tệp trong 65, lặp lại chúng và sử dụng 71 để in ra các tên tệp có phần mở rộng tệp 74. Chạy cái này trên máy tính của tôi tạo ra đầu ra sau 2Khớp mẫu tên tệp đơn giản bằng cách sử dụng my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 75Các phương thức chuỗi bị hạn chế về khả năng kết hợp của chúng. 75 có nhiều chức năng và phương pháp nâng cao hơn để so khớp mẫu. Chúng tôi sẽ xem xét 61, một chức năng hỗ trợ sử dụng các ký tự đại diện như 78 và 79 để khớp với tên tệp. Ví dụ: để tìm tất cả các tệp 74 trong một thư mục bằng cách sử dụng 75, bạn sẽ làm như sau>>> 3Điều này lặp lại danh sách các tệp trong 64 và sử dụng 83 để thực hiện tìm kiếm ký tự đại diện cho các tệp có phần mở rộng 74So khớp mẫu nâng cao hơnGiả sử bạn muốn tìm _______13_______74 tệp đáp ứng các tiêu chí nhất định. Ví dụ: bạn có thể chỉ quan tâm đến việc tìm các tệp 74 có chứa từ 87, một số nằm giữa một tập hợp các dấu gạch dưới và từ 88 trong tên tệp của chúng. Một cái gì đó tương tự như 89, 90 hoặc 91Sử dụng 61, bạn có thể làm theo cách này>>> 4Tại đây, bạn chỉ in ra tên của các tệp khớp với mẫu 93. Dấu hoa thị trong mẫu sẽ khớp với bất kỳ ký tự nào, do đó, việc chạy này sẽ tìm thấy tất cả các tệp văn bản có tên tệp bắt đầu bằng từ 87 và kết thúc bằng 95, như bạn có thể thấy từ đầu ra bên dưới 5Khớp mẫu tên tệp bằng cách sử dụng my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 96Một mô-đun hữu ích khác để khớp mẫu là 96 98 trong mô-đun 96 hoạt động giống như 61, nhưng không giống như 61, nó coi các tệp bắt đầu bằng dấu chấm ( 02) là đặc biệtUNIX và các hệ thống liên quan dịch các mẫu tên có ký tự đại diện như 79 và 78 thành danh sách các tệp. Điều này được gọi là toàn cầu hóaVí dụ: gõ _____19_______05 trong trình bao UNIX sẽ di chuyển (_______19_______06) tất cả các tệp có phần mở rộng ___19_______07 từ thư mục hiện tại sang thư mục ____19_______08. Ký tự 78 là ký tự đại diện có nghĩa là “bất kỳ số lượng ký tự nào” và 10 là mẫu hình cầu. Khả năng trình bao này không khả dụng trong Hệ điều hành Windows. Mô-đun 96 bổ sung khả năng này trong Python, cho phép các chương trình Windows sử dụng tính năng nàyĐây là một ví dụ về cách sử dụng 96 để tìm kiếm tất cả các tệp nguồn Python ( 07) trong thư mục hiện tại>>> 6 14 tìm kiếm tất cả các tệp có phần mở rộng 07 trong thư mục hiện tại và trả về chúng dưới dạng danh sách. 96 cũng hỗ trợ các ký tự đại diện kiểu shell để khớp các mẫu>>> 7Điều này tìm thấy tất cả các tệp văn bản ( 74) có chứa các chữ số trong tên tệp 2 96 cũng giúp dễ dàng tìm kiếm các tệp theo cách đệ quy trong các thư mục con>>> 9Ví dụ này sử dụng 19 để tìm kiếm các tệp 07 trong thư mục hiện tại và thư mục con. Truyền 21 làm đối số cho 22 làm cho nó tìm kiếm các tệp 07 trong thư mục hiện tại và bất kỳ thư mục con nào. Sự khác biệt giữa 19 và 62 là 22 trả về một trình vòng lặp thay vì một danh sáchChạy chương trình trên tạo ra như sau 0 05 chứa các phương pháp tương tự để tạo danh sách tệp linh hoạt. Ví dụ dưới đây cho thấy cách bạn có thể sử dụng 28 để liệt kê các loại tệp bắt đầu bằng chữ cái 29>>> 1Gọi 30 trả về một đối tượng trình tạo trỏ tới tất cả các tệp trong thư mục hiện tại bắt đầu bằng chữ cái 29 trong phần mở rộng tệp của chúng 32 tương tự như 33 đã thảo luận ở trên. Như bạn có thể thấy, 05 kết hợp nhiều tính năng tốt nhất của các mô-đun 02, 03 và 96 vào một mô-đun duy nhất, điều này làm cho việc sử dụng trở nên thú vịTóm lại, đây là bảng các chức năng chúng tôi đã trình bày trong phần này FunctionDescription 60Kiểm tra xem một chuỗi có bắt đầu bằng một mẫu cụ thể hay không và trả về 69 hoặc 40 59Kiểm tra xem một chuỗi có kết thúc bằng một mẫu cụ thể hay không và trả về 69 hoặc 40 44Kiểm tra xem tên tệp có khớp với mẫu đó hay không và trả về 69 hoặc 40 62Trả về danh sách các tên tệp khớp với một mẫu3__Tìm kiếm 1________ Loại bỏ các quảng cáoDuyệt qua các thư mục và xử lý tệpMột nhiệm vụ lập trình phổ biến là duyệt cây thư mục và xử lý các tệp trong cây. Hãy cùng khám phá cách hàm Python tích hợp sẵn 49 có thể được sử dụng để làm điều này. 49 được sử dụng để tạo tên tệp trong cây thư mục bằng cách di chuyển cây từ trên xuống hoặc từ dưới lên. Với mục đích của phần này, chúng ta sẽ thao tác với cây thư mục sau 2Sau đây là một ví dụ chỉ cho bạn cách liệt kê tất cả các tệp và thư mục trong cây thư mục bằng cách sử dụng 49 49 mặc định duyệt qua các thư mục theo cách từ trên xuống 3 49 trả về ba giá trị trên mỗi lần lặp của vòng lặp
Trên mỗi lần lặp, nó in ra tên của các thư mục con và tệp mà nó tìm thấy 4Để duyệt qua cây thư mục theo cách từ dưới lên, hãy chuyển đối số từ khóa 54 tới 49 5Truyền đối số 54 sẽ làm cho 49 in ra các tệp mà nó tìm thấy trong thư mục con trước 6Như bạn có thể thấy, chương trình bắt đầu bằng cách liệt kê nội dung của các thư mục con trước khi liệt kê nội dung của thư mục gốc. Điều này rất hữu ích trong trường hợp bạn muốn xóa đệ quy các tệp và thư mục. Bạn sẽ học cách làm điều này trong các phần dưới đây. Theo mặc định, 58 không đi xuống các liên kết tượng trưng giải quyết các thư mục. Hành vi này có thể bị ghi đè bằng cách gọi nó bằng đối số 59Tạo tập tin tạm thời và thư mụcPython cung cấp một mô-đun tiện dụng để tạo các tệp và thư mục tạm thời có tên là 60 60 có thể được sử dụng để mở và lưu trữ dữ liệu tạm thời trong một tệp hoặc thư mục trong khi chương trình của bạn đang chạy. 60 xử lý việc xóa các tệp tạm thời khi chương trình của bạn hoàn thành chúngĐây là cách tạo một tệp tạm thời 7Bước đầu tiên là nhập 63 từ mô-đun 60. Tiếp theo, tạo một tệp giống như đối tượng bằng cách sử dụng phương thức 65 bằng cách gọi nó và chuyển chế độ bạn muốn mở tệp trong đó. Điều này sẽ tạo và mở một tệp có thể được sử dụng làm vùng lưu trữ tạm thờiTrong ví dụ trên, chế độ là 66, điều này làm cho 60 tạo một tệp văn bản tạm thời ở chế độ ghi. Không cần đặt tên tệp tạm thời vì nó sẽ bị hủy sau khi tập lệnh chạy xongSau khi ghi vào tệp, bạn có thể đọc từ tệp và đóng tệp khi xử lý xong. Sau khi đóng tệp, nó sẽ bị xóa khỏi hệ thống tệp. Nếu bạn cần đặt tên cho các tệp tạm thời được tạo bằng cách sử dụng 60, hãy sử dụng 69Các tệp và thư mục tạm thời được tạo bằng cách sử dụng 60 được lưu trữ trong một thư mục hệ thống đặc biệt để lưu trữ các tệp tạm thời. Python tìm kiếm danh sách thư mục tiêu chuẩn để tìm danh sách mà người dùng có thể tạo tệp trong đóTrên Windows, các thư mục là 71, 72, 73 và 74, theo thứ tự đó. Trên tất cả các nền tảng khác, các thư mục là 75, 76 và 77, theo thứ tự đó. Phương án cuối cùng, 60 sẽ lưu các tệp và thư mục tạm thời trong thư mục hiện tại 79 cũng là một trình quản lý ngữ cảnh nên có thể dùng kết hợp với câu lệnh 27. Sử dụng trình quản lý bối cảnh sẽ tự động đóng và xóa tệp sau khi đọc xong 8Thao tác này tạo một tệp tạm thời và đọc dữ liệu từ tệp đó. Ngay sau khi nội dung của tệp được đọc, tệp tạm thời sẽ bị đóng và bị xóa khỏi hệ thống tệp 60 cũng có thể được sử dụng để tạo các thư mục tạm thời. Hãy xem cách bạn có thể làm điều này bằng cách sử dụng 82>>> 9Gọi 82 tạo một thư mục tạm thời trong hệ thống tệp và trả về một đối tượng đại diện cho thư mục này. Trong ví dụ trên, thư mục được tạo bằng trình quản lý ngữ cảnh và tên của thư mục được lưu trữ trong 84. Dòng thứ ba in ra tên của thư mục tạm thời và 85 xác nhận xem thư mục có thực sự được tạo trong hệ thống tệp hay khôngSau khi trình quản lý ngữ cảnh ra khỏi ngữ cảnh, thư mục tạm thời sẽ bị xóa và lệnh gọi tới ____19_______85 trả về ___19_______40, điều đó có nghĩa là thư mục đã được xóa thành công Loại bỏ các quảng cáoXóa tập tin và thư mụcBạn có thể xóa các tệp, thư mục đơn lẻ và toàn bộ cây thư mục bằng cách sử dụng các phương pháp có trong các mô-đun 02, 04 và 05. Các phần sau đây mô tả cách xóa các tệp và thư mục mà bạn không cần nữaXóa tệp trong PythonĐể xóa một tệp, hãy sử dụng 91, 92. hoặc 93 92 và 93 giống hệt nhau về mặt ngữ nghĩa. Để xóa một tệp bằng cách sử dụng 92, hãy làm như sau 0Xóa tệp bằng cách sử dụng 93 tương tự như cách bạn thực hiện bằng cách sử dụng 92 1Gọi 99 hoặc 00 trên một tệp sẽ xóa tệp đó khỏi hệ thống tệp. Hai hàm này sẽ ném ra một 56 nếu đường dẫn được truyền cho chúng trỏ đến một thư mục thay vì một tệp. Để tránh điều này, bạn có thể kiểm tra xem những gì bạn đang cố xóa có thực sự là một tệp hay không và chỉ xóa nó nếu có, hoặc bạn có thể sử dụng xử lý ngoại lệ để xử lý 56 2 62 kiểm tra xem 04 có thực sự là một tệp không. Nếu có, nó sẽ bị xóa bởi lệnh gọi tới 92. Nếu 04 trỏ đến một thư mục, một thông báo lỗi sẽ được in ra bảng điều khiểnVí dụ sau đây cho thấy cách sử dụng xử lý ngoại lệ để xử lý lỗi khi xóa tệp 3Đoạn mã trên cố gắng xóa tệp trước khi kiểm tra loại tệp. Nếu 04 thực sự không phải là một tệp, thì ______13_______56 được ném ra sẽ được xử lý trong mệnh đề 09 và một thông báo lỗi được in ra bảng điều khiển. Thông báo lỗi được in ra được định dạng bằng Python f-stringsCuối cùng, bạn cũng có thể sử dụng 91 để xóa tệp 4Điều này tạo ra một đối tượng 31 có tên là 04 trỏ đến một tệp. Gọi 00 trên 04 sẽ xóa 15. Nếu 04 trỏ đến một thư mục, thì một ____21_______17 được nâng lên. Điều đáng chú ý là chương trình Python ở trên có cùng quyền với người dùng đang chạy nó. Nếu người dùng không có quyền xóa tệp, một 18 sẽ xuất hiệnXóa thư mụcThư viện chuẩn cung cấp các hàm sau để xóa thư mục
Để xóa một thư mục hoặc thư mục, hãy sử dụng 19 hoặc 23. Hai chức năng này chỉ hoạt động nếu thư mục bạn đang cố xóa trống. Nếu thư mục không trống, một 56 sẽ xuất hiện. Đây là cách xóa một thư mục 5Ở đây, thư mục 25 bị xóa bằng cách chuyển đường dẫn của nó tới 19. Nếu thư mục không trống, một thông báo lỗi sẽ được in ra màn hình>>> 6Ngoài ra, bạn có thể sử dụng 05 để xóa thư mục 7Tại đây, bạn tạo một đối tượng 31 trỏ đến thư mục cần xóa. Gọi 29 trên đối tượng 31 sẽ xóa nó nếu nó trốngLoại bỏ các quảng cáoXóa toàn bộ cây thư mụcĐể xóa các thư mục không trống và toàn bộ cây thư mục, Python cung cấp 21 8Mọi thứ trong 25 sẽ bị xóa khi 21 được gọi trên đó. Có thể có trường hợp bạn muốn xóa các thư mục trống theo cách đệ quy. Bạn có thể thực hiện việc này bằng cách sử dụng một trong các phương pháp đã thảo luận ở trên cùng với 49 9Điều này đi xuống cây thư mục và cố gắng xóa từng thư mục mà nó tìm thấy. Nếu thư mục không trống, một 56 được nâng lên và thư mục đó bị bỏ qua. Bảng dưới đây liệt kê các chức năng được đề cập trong phần nàyChức năng Mô tả 92Xóa một tệp và không xóa các thư mục 93Giống với 92 và xóa một tệp duy nhất 91Xóa một tệp và không thể xóa các thư mục 19Xóa một thư mục trống 20Xóa một thư mục trống 21Xóa toàn bộ cây thư mục và có thể được sử dụng để xóa các thư mục không trốngSao chép, di chuyển và đổi tên tệp và thư mụcPython vận chuyển với mô-đun 04. 04 là viết tắt của các tiện ích vỏ. Nó cung cấp một số thao tác cấp cao trên tệp để hỗ trợ sao chép, lưu trữ và xóa tệp và thư mục. Trong phần này, bạn sẽ học cách di chuyển và sao chép tệp và thư mụcSao chép tệp trong Python 04 cung cấp một số chức năng để sao chép tệp. Các chức năng được sử dụng phổ biến nhất là 46 và 47. Để sao chép tệp từ vị trí này sang vị trí khác bằng cách sử dụng 46, hãy làm như sau 0 46 có thể so sánh với lệnh 50 trong các hệ thống dựa trên UNIX. 51 sẽ sao chép tệp 52 đến địa điểm được chỉ định trong 53. Nếu 53 là một tệp, nội dung của tệp đó sẽ được thay thế bằng nội dung của 52. Nếu 53 là một thư mục, thì 52 sẽ được sao chép vào thư mục đó. 46 chỉ sao chép nội dung của tệp và quyền của tệp. Các siêu dữ liệu khác như thời gian tạo và sửa đổi của tệp không được lưu giữĐể bảo toàn tất cả siêu dữ liệu của tệp khi sao chép, hãy sử dụng 47 1Việc sử dụng 60 sẽ lưu giữ các chi tiết về tệp như thời gian truy cập lần cuối, bit quyền, thời gian sửa đổi lần cuối và cờSao chép thư mụcTrong khi 46 chỉ sao chép một tệp duy nhất, thì 62 sẽ sao chép toàn bộ thư mục và mọi thứ chứa trong đó. 63 có hai đối số. một thư mục nguồn và thư mục đích nơi các tệp và thư mục sẽ được sao chép vàoĐây là một ví dụ về cách sao chép nội dung của một thư mục sang một vị trí khác >>> 2Trong ví dụ này, 64 sao chép nội dung của 65 đến một vị trí mới 66 và trả về thư mục đích. Thư mục đích không được tồn tại. Nó sẽ được tạo cũng như các thư mục mẹ bị thiếu. 62 là một cách hay để sao lưu tệp của bạnLoại bỏ các quảng cáoDi chuyển tập tin và thư mụcĐể di chuyển một tệp hoặc thư mục đến một vị trí khác, hãy sử dụng 68 52 là tệp hoặc thư mục sẽ được di chuyển và 53 là đích đến>>> 3 71 di chuyển 72 thành 73 nếu tồn tại 73. Nếu 73 không tồn tại, 72 sẽ được đổi tên thành 88Đổi tên tập tin và thư mụcPython bao gồm 78 để đổi tên tệp và thư mục>>> 4Dòng trên sẽ đổi tên 79 thành 80. Nếu đường dẫn đích trỏ đến một thư mục, nó sẽ tăng giá trị 56Một cách khác để đổi tên tệp hoặc thư mục là sử dụng 82 từ mô-đun 05>>> 5Để đổi tên tệp bằng cách sử dụng 05, trước tiên bạn tạo một đối tượng 22 chứa đường dẫn đến tệp bạn muốn thay thế. Bước tiếp theo là gọi 82 trên đối tượng đường dẫn và chuyển tên tệp mới cho tệp hoặc thư mục bạn đang đổi tênlưu trữLưu trữ là một cách thuận tiện để đóng gói nhiều tệp thành một. Hai loại lưu trữ phổ biến nhất là ZIP và TAR. Các chương trình Python bạn viết có thể tạo, đọc và trích xuất dữ liệu từ kho lưu trữ. Bạn sẽ học cách đọc và ghi vào cả hai định dạng lưu trữ trong phần này Đọc tệp ZIPMô-đun 87 là mô-đun cấp thấp, là một phần của Thư viện chuẩn Python. 87 có các chức năng giúp dễ dàng mở và giải nén tệp ZIP. Để đọc nội dung của tệp ZIP, điều đầu tiên cần làm là tạo một đối tượng 89. Các đối tượng 89 tương tự như các đối tượng tệp được tạo bằng cách sử dụng 07. 89 cũng là một trình quản lý ngữ cảnh và do đó hỗ trợ cho câu lệnh 27 6Tại đây, bạn tạo một đối tượng 89, chuyển vào tên của tệp ZIP để mở ở chế độ đọc. Sau khi mở tệp ZIP, thông tin về kho lưu trữ có thể được truy cập thông qua các chức năng được cung cấp bởi mô-đun 87. Kho lưu trữ 96 trong ví dụ trên được tạo từ thư mục có tên 87 chứa tổng cộng 5 tệp và 1 thư mục con 7Để lấy danh sách các tệp trong kho lưu trữ, hãy gọi 98 trên đối tượng 89 8Điều này tạo ra một danh sách 9 00 trả về danh sách tên của các tệp và thư mục trong kho lưu trữ. Để truy xuất thông tin về các tệp trong kho lưu trữ, hãy sử dụng 01 0Đây là đầu ra 1 01 trả về một đối tượng 03 lưu trữ thông tin về một thành viên của kho lưu trữ. Để lấy thông tin về một tệp trong kho lưu trữ, bạn chuyển đường dẫn của nó dưới dạng đối số tới 01. Sử dụng 05, bạn có thể truy xuất thông tin về các thành viên lưu trữ, chẳng hạn như ngày tệp được sửa đổi lần cuối, kích thước nén và tên tệp đầy đủ của chúng. Truy cập 06 truy xuất kích thước ban đầu của tệp theo byteVí dụ sau đây cho thấy cách truy xuất thêm chi tiết về các tệp đã lưu trữ trong REPL của Python. Giả sử rằng mô-đun 87 đã được nhập và 08 là cùng một đối tượng mà bạn đã tạo trong các ví dụ trước>>> 2 08 chứa thông tin chi tiết về 10, chẳng hạn như kích thước của nó khi được nén và đường dẫn đầy đủ của nóDòng đầu tiên hiển thị cách truy xuất ngày sửa đổi cuối cùng của tệp. Dòng tiếp theo cho biết cách lấy kích thước của tệp sau khi nén. Dòng cuối cùng hiển thị đường dẫn đầy đủ của 10 trong kho lưu trữ 89 hỗ trợ giao thức quản lý ngữ cảnh, đó là lý do tại sao bạn có thể sử dụng nó với câu lệnh 27. Thao tác này sẽ tự động đóng đối tượng 89 sau khi bạn thực hiện xong. Cố gắng mở hoặc trích xuất tệp từ một đối tượng 89 đã đóng sẽ gây ra lỗiLoại bỏ các quảng cáoGiải nén kho lưu trữ ZIPMô-đun 87 cho phép bạn trích xuất một hoặc nhiều tệp từ kho lưu trữ ZIP thông qua 17 và 18Các phương thức này trích xuất tệp vào thư mục hiện tại theo mặc định. Cả hai đều có tham số 19 tùy chọn cho phép bạn chỉ định một thư mục khác để giải nén tệp vào. Nếu thư mục không tồn tại, nó sẽ tự động được tạo. Để giải nén các tệp từ kho lưu trữ, hãy làm như sau>>> 3Dòng mã thứ ba là một cuộc gọi đến 14, cho biết thư mục hiện tại chỉ có một tệp, 96Tiếp theo, bạn mở 96 ở chế độ đọc và gọi 17 để trích xuất 67 từ nó. 17 trả về đường dẫn tệp đầy đủ của tệp được giải nén. Vì không có đường dẫn cụ thể, nên 17 trích xuất 67 vào thư mục hiện tạiDòng tiếp theo in danh sách thư mục cho biết thư mục hiện tại bao gồm tệp được giải nén ngoài kho lưu trữ gốc. Dòng sau đó cho biết cách giải nén toàn bộ kho lưu trữ vào thư mục 28. 18 tạo 30 và trích xuất nội dung của 96 vào đó. Dòng cuối cùng đóng kho lưu trữ ZIPTrích xuất dữ liệu từ kho lưu trữ được bảo vệ bằng mật khẩu 87 hỗ trợ giải nén các tệp ZIP được bảo vệ bằng mật khẩu. Để giải nén các tệp ZIP được bảo vệ bằng mật khẩu, hãy nhập mật khẩu vào phương thức 17 hoặc 18 làm đối số>>> 4Thao tác này sẽ mở kho lưu trữ 35 ở chế độ đọc. Mật khẩu được cung cấp cho 18 và nội dung lưu trữ được trích xuất tới 30. Kho lưu trữ được đóng tự động sau khi trích xuất hoàn tất nhờ câu lệnh 27Tạo kho lưu trữ ZIP mớiĐể tạo một kho lưu trữ ZIP mới, bạn mở một đối tượng 89 ở chế độ ghi ( 09) và thêm các tệp bạn muốn lưu trữ>>> 5Trong ví dụ, 41 được mở ở chế độ ghi và mỗi tệp trong 42 được thêm vào kho lưu trữ. Khi bộ câu lệnh 27 kết thúc, 41 được đóng lại. Mở tệp ZIP ở chế độ ghi sẽ xóa nội dung của kho lưu trữ và tạo một kho lưu trữ mớiĐể thêm tệp vào kho lưu trữ hiện có, hãy mở đối tượng 89 ở chế độ chắp thêm rồi thêm tệp>>> 6Tại đây, bạn mở kho lưu trữ 46 mà bạn đã tạo trong ví dụ trước ở chế độ chắp thêm. Mở đối tượng 89 ở chế độ chắp thêm cho phép bạn thêm tệp mới vào tệp ZIP mà không xóa nội dung hiện tại của tệp. Sau khi thêm tệp vào tệp ZIP, câu lệnh 27 nằm ngoài ngữ cảnh và đóng tệp ZIPMở kho lưu trữ TARTệp TAR là kho lưu trữ tệp không nén như ZIP. Chúng có thể được nén bằng các phương pháp nén gzip, bzip2 và lzma. Lớp 49 cho phép đọc và ghi các kho lưu trữ TARLàm điều này để đọc từ một kho lưu trữ 7 50 đối tượng mở giống như hầu hết các đối tượng giống như tệp. Chúng có hàm 07 có chế độ xác định cách mở tệpSử dụng các chế độ 52, 53 hoặc 54 để mở tệp TAR không nén để đọc, viết và nối thêm tương ứng. Để mở các tệp TAR đã nén, hãy chuyển một đối số chế độ tới 55 ở dạng 56. Bảng bên dưới liệt kê các chế độ có thể mở tệp TAR trongModeAction 08Mở kho lưu trữ để đọc với nén trong suốt 58Mở kho lưu trữ để đọc với nén gzip 59Mở kho lưu trữ để đọc với nén bzip2 60Mở kho lưu trữ để đọc với nén lzma 09Mở kho lưu trữ để viết với nén không nén 62Mở kho lưu trữ để đọc với nén gzip 63Mở kho lưu trữ để đọc với nén lzma viết_______23____6 Mở không nén___23_______6 65 mặc định ở chế độ 52. Để đọc tệp TAR không nén và truy xuất tên của các tệp trong đó, hãy sử dụng 67>>> 8Điều này trả về một danh sách có tên của nội dung lưu trữ Ghi chú. Với mục đích chỉ cho bạn cách sử dụng các phương pháp đối tượng 50 khác nhau, tệp TAR trong các ví dụ được mở và đóng theo cách thủ công trong phiên REPL tương tácTương tác với tệp TAR theo cách này cho phép bạn xem đầu ra của việc chạy từng lệnh. Thông thường, bạn sẽ muốn sử dụng trình quản lý ngữ cảnh để mở các đối tượng giống như tệp Siêu dữ liệu của mỗi mục trong kho lưu trữ có thể được truy cập bằng các thuộc tính đặc biệt >>> ______36_______9 Trong ví dụ này, bạn lặp qua danh sách các tệp được trả về bởi 69 và in ra các thuộc tính của từng tệp. Các đối tượng được trả về bởi 69 có các thuộc tính có thể được truy cập theo chương trình, chẳng hạn như tên, kích thước và thời gian sửa đổi lần cuối của từng tệp trong kho lưu trữ. Sau khi đọc hoặc ghi vào kho lưu trữ, nó phải được đóng lại để giải phóng tài nguyên hệ thốngGiải nén tệp từ kho lưu trữ TARTrong phần này, bạn sẽ tìm hiểu cách giải nén tệp từ kho lưu trữ TAR bằng các phương pháp sau
Để trích xuất một tệp từ kho lưu trữ TAR, hãy sử dụng 74, chuyển tên tệp>>> 0Tệp 75 được trích xuất từ kho lưu trữ vào hệ thống tệp. Gọi 14 xác nhận rằng tệp 75 đã được giải nén thành công vào thư mục hiện tại. Để giải nén hoặc trích xuất mọi thứ từ kho lưu trữ, hãy sử dụng 18>>> 1 18 có một đối số 19 tùy chọn để chỉ định vị trí của các tệp được giải nén. Tại đây, kho lưu trữ được giải nén vào thư mục 81. Các lệnh sau cho biết kho lưu trữ đã được trích xuất thành công 2Để trích xuất một đối tượng tệp để đọc hoặc ghi, hãy sử dụng 72, lấy tên tệp hoặc đối tượng 83 để trích xuất làm đối số. 72 trả về một đối tượng giống như tệp có thể được đọc và sử dụng>>> 3Các kho lưu trữ đã mở phải luôn được đóng lại sau khi chúng đã được đọc hoặc ghi vào. Để đóng kho lưu trữ, hãy gọi 85 trên phần xử lý tệp lưu trữ hoặc sử dụng câu lệnh 27 khi tạo đối tượng 50 để tự động đóng kho lưu trữ khi bạn hoàn tất. Điều này giải phóng tài nguyên hệ thống và ghi bất kỳ thay đổi nào bạn đã thực hiện vào kho lưu trữ vào hệ thống tệpTạo kho lưu trữ TAR mớiĐây là cách bạn làm điều đó >>> 4Trước tiên, bạn tạo danh sách các tệp sẽ được thêm vào kho lưu trữ để bạn không phải thêm từng tệp theo cách thủ công Dòng tiếp theo sử dụng trình quản lý ngữ cảnh 27 để mở một kho lưu trữ mới có tên là 89 ở chế độ ghi. Mở một kho lưu trữ ở chế độ ghi ( 53) cho phép bạn ghi các tệp mới vào kho lưu trữ. Mọi tệp hiện có trong kho lưu trữ sẽ bị xóa và một kho lưu trữ mới được tạoSau khi kho lưu trữ được tạo và điền, trình quản lý ngữ cảnh 27 sẽ tự động đóng và lưu vào hệ thống tệp. Ba dòng cuối cùng mở kho lưu trữ bạn vừa tạo và in ra tên của các tệp có trong đóĐể thêm tệp mới vào kho lưu trữ hiện có, hãy mở kho lưu trữ ở chế độ chắp thêm ( 54)>>> 5Mở một kho lưu trữ ở chế độ nối thêm cho phép bạn thêm các tệp mới vào đó mà không xóa các tệp đã có trong đó Làm việc với kho lưu trữ nén 50 cũng có thể đọc và ghi các tệp lưu trữ TAR được nén bằng cách nén gzip, bzip2 và lzma. Để đọc hoặc ghi vào kho lưu trữ nén, hãy sử dụng 55, chuyển sang chế độ thích hợp cho loại nénVí dụ: để đọc hoặc ghi dữ liệu vào kho lưu trữ TAR được nén bằng gzip, hãy sử dụng chế độ 95 hoặc 96 tương ứng>>> 6Chế độ 96 mở kho lưu trữ để ghi nén gzip và 95 mở kho lưu trữ để đọc nén gzip. Không thể mở kho lưu trữ đã nén ở chế độ chắp thêm. Để thêm tệp vào kho lưu trữ nén, bạn phải tạo một kho lưu trữ mớiMột cách dễ dàng hơn để tạo kho lưu trữThư viện chuẩn Python cũng hỗ trợ tạo tệp lưu trữ TAR và ZIP bằng các phương thức cấp cao trong mô-đun 04. Các tiện ích lưu trữ trong 04 cho phép bạn tạo, đọc và trích xuất các tệp lưu trữ ZIP và TAR. Các tiện ích này dựa trên các mô-đun 50 và 87 cấp thấp hơnLàm việc với tài liệu lưu trữ bằng cách sử dụng 03 03 có ít nhất hai đối số. tên của kho lưu trữ và định dạng lưu trữTheo mặc định, nó nén tất cả các tệp trong thư mục hiện tại thành định dạng lưu trữ được chỉ định trong đối số 05. Bạn có thể chuyển vào một đối số 06 tùy chọn để nén các tệp trong một thư mục khác. 07 hỗ trợ các định dạng lưu trữ 08, 09, 10 và 11Đây là cách tạo kho lưu trữ TAR bằng cách sử dụng 04 7Điều này sao chép mọi thứ trong 13 và tạo một kho lưu trữ có tên là 14 trong hệ thống tệp và trả về tên của nó. Để trích xuất kho lưu trữ, hãy gọi 15 8Gọi 15 và chuyển vào tên lưu trữ và thư mục đích sẽ trích xuất nội dung của 14 thành 18. Lưu trữ ZIP có thể được tạo và trích xuất theo cách tương tựĐọc nhiều tệpPython hỗ trợ đọc dữ liệu từ nhiều luồng đầu vào hoặc từ danh sách tệp thông qua mô-đun 06. Mô-đun này cho phép bạn lặp lại nội dung của một hoặc nhiều tệp văn bản một cách nhanh chóng và dễ dàng. Đây là cách điển hình mà 06 được sử dụng 9 06 nhận đầu vào từ các đối số dòng lệnh được chuyển đến 22 theo mặc địnhSử dụng 06 để lặp qua nhiều tệpHãy sử dụng 06 để xây dựng một phiên bản thô của tiện ích UNIX chung 25. Tiện ích 25 đọc các tệp một cách tuần tự, ghi chúng vào đầu ra tiêu chuẩn. Khi được cung cấp nhiều hơn một tệp trong các đối số dòng lệnh của nó, 25 sẽ nối các tệp văn bản và hiển thị kết quả trong thiết bị đầu cuối 00Chạy cái này trên hai tệp văn bản trong thư mục hiện tại của tôi sẽ tạo ra kết quả sau 01 06 cho phép bạn truy xuất thêm thông tin về từng dòng chẳng hạn như đó có phải là dòng đầu tiên hay không ( 29), số dòng ( 30) và tên tệp ( 31). Bạn có thể đọc thêm về nó ở đâyPhần kết luậnBây giờ bạn đã biết cách sử dụng Python để thực hiện các thao tác phổ biến nhất trên tệp và nhóm tệp. Bạn đã tìm hiểu về các mô-đun tích hợp khác nhau được sử dụng để đọc, tìm và thao tác với chúng Bây giờ bạn đã được trang bị để sử dụng Python để
Đánh dấu là đã hoàn thành Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Công thức thực tế để làm việc với tệp trong Python 🐍 Thủ thuật Python 💌 Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python Gửi cho tôi thủ thuật Python » Giới thiệu về Vuyisile Ndlovu Nhà phát triển Django và người đam mê mã nguồn mở » Tìm hiểu thêm về VuyisilMỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là David Geir Arne Joanna Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia Nâng cao kỹ năng Python của bạn » Chuyên gia Kỹ năng Python trong thế giới thực Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng các chuyên gia Pythonistas Nâng cao kỹ năng Python của bạn » Bạn nghĩ sao? Đánh giá bài viết này Tweet Chia sẻ Chia sẻ EmailBài học số 1 hoặc điều yêu thích mà bạn đã học được là gì? Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi |