Xin chào. Nếu bạn muốn tìm hiểu cách làm việc với các tệp trong Python, thì bài viết này là dành cho bạn. Làm việc với các tệp là một kỹ năng quan trọng mà mọi nhà phát triển Python nên học, vì vậy hãy bắt đầu
Trong bài viết này, bạn sẽ học
- Làm thế nào để mở một tập tin
- Cách đọc một tập tin
- Làm thế nào để tạo một tập tin
- Cách sửa đổi một tập tin
- Làm thế nào để đóng một tập tin
- Cách mở tệp cho nhiều thao tác
- Cách làm việc với các phương thức đối tượng tệp
- Làm thế nào để xóa các tập tin
- Cách làm việc với trình quản lý ngữ cảnh và tại sao chúng hữu ích
- Cách xử lý các ngoại lệ có thể phát sinh khi bạn làm việc với tệp
- và nhiều hơn nữa
Hãy bắt đầu nào. ✨
🔹 Làm việc với Tệp. Cú pháp cơ bản
Một trong những hàm quan trọng nhất mà bạn sẽ cần sử dụng khi làm việc với các tệp trong Python là
f = open["data/names.txt", "a"]
print[f.mode] # Output: "a"
9, một hàm tích hợp mở tệp và cho phép chương trình của bạn sử dụng và làm việc với tệp đó.Đây là cú pháp cơ bản
💡 Mẹo. Đây là hai đối số được sử dụng phổ biến nhất để gọi hàm này. Có sáu đối số tùy chọn bổ sung. Để tìm hiểu thêm về chúng, vui lòng đọc bài viết này trong tài liệu
Tham số đầu tiên. Tập tin
Tham số đầu tiên của hàm
f = open["data/names.txt"]
print[f.read[]]
0 là f = open["data/names.txt"]
print[f.read[]]
1, đường dẫn tuyệt đối hoặc tương đối tới tệp mà bạn đang cố gắng làm việc vớiChúng tôi thường sử dụng một đường dẫn tương đối, cho biết vị trí của tệp so với vị trí của tập lệnh [tệp Python] đang gọi hàm
f = open["data/names.txt"]
print[f.read[]]
0Ví dụ: đường dẫn trong lệnh gọi hàm này
open["names.txt"] # The relative path is "names.txt"
Chỉ chứa tên của tập tin. Điều này có thể được sử dụng khi tệp mà bạn đang cố mở nằm trong cùng thư mục hoặc thư mục với tập lệnh Python, như thế này
Nhưng nếu tệp nằm trong một thư mục lồng nhau, như thế này
Sau đó, chúng ta cần sử dụng một đường dẫn cụ thể để báo cho hàm biết rằng tệp nằm trong một thư mục khác
Trong ví dụ này, đây sẽ là đường dẫn
open["data/names.txt"]
Lưu ý rằng chúng tôi đang viết
f = open["data/names.txt"]
print[f.read[]]
3 trước [tên của thư mục theo sau là f = open["data/names.txt"]
print[f.read[]]
4] và sau đó là f = open["data/names.txt"]
print[f.read[]]
5 [tên của tệp có phần mở rộng]💡 Mẹo. Ba chữ cái
f = open["data/names.txt"]
print[f.read[]]
6 theo sau dấu chấm trong f = open["data/names.txt"]
print[f.read[]]
5 là "phần mở rộng" của tệp hoặc loại tệp. Trong trường hợp này, f = open["data/names.txt"]
print[f.read[]]
6 chỉ ra rằng đó là tệp văn bảnTham số thứ hai. Cách thức
Tham số thứ hai của hàm
f = open["data/names.txt"]
print[f.read[]]
0 là f = open["data/names.txt"]
print[f.read[]]
30, một chuỗi có một ký tự. Ký tự đơn đó về cơ bản cho Python biết bạn định làm gì với tệp trong chương trình của mìnhChế độ có sẵn là
- Đọc [
31]f = open["data/names.txt"] print[f.read[]]
- Nối [
32]f = open["data/names.txt"] print[f.read[]]
- Viết [
33]f = open["data/names.txt"] print[f.read[]]
- Tạo [
34]f = open["data/names.txt"] print[f.read[]]
Bạn cũng có thể chọn mở tệp trong
- Chế độ văn bản [
35]f = open["data/names.txt"] print[f.read[]]
- Chế độ nhị phân [
36]f = open["data/names.txt"] print[f.read[]]
Để sử dụng chế độ văn bản hoặc nhị phân, bạn cần thêm các ký tự này vào chế độ chính. Ví dụ.
f = open["data/names.txt"]
print[f.read[]]
37 có nghĩa là viết ở chế độ nhị phân💡 Mẹo. Các chế độ mặc định là read [
f = open["data/names.txt"]
print[f.read[]]
31] và text [f = open["data/names.txt"]
print[f.read[]]
35], có nghĩa là "mở để đọc văn bản" [f = open["data/names.txt"]
print[f.read[]]
30], vì vậy bạn không cần chỉ định chúng trong f = open["data/names.txt"]
print[f.read[]]
0 nếu muốn sử dụng vì chúng đã được gán theo mặc định. Bạn có thể chỉ cần viết f = open["data/names.txt"]
print[f.read[]]
32Tại sao Chế độ?
Thật hợp lý khi Python chỉ cấp một số quyền nhất định dựa trên những gì bạn định làm với tệp, phải không?
Hãy suy nghĩ về nó - cho phép một chương trình làm nhiều hơn mức cần thiết có thể gây ra vấn đề. Ví dụ: nếu bạn chỉ cần đọc nội dung của một tệp, thì việc cho phép chương trình của bạn sửa đổi tệp đó một cách bất ngờ có thể nguy hiểm, điều này có khả năng gây ra lỗi
🔸 Cách đọc tệp
Bây giờ bạn đã biết thêm về các đối số mà hàm
f = open["data/names.txt", "a"]
print[f.mode] # Output: "a"
9 nhận, hãy xem cách bạn có thể mở một tệp và lưu trữ nó trong một biến để sử dụng nó trong chương trình của bạnĐây là cú pháp cơ bản
Chúng tôi chỉ đơn giản là gán giá trị trả về cho một biến. Ví dụ
f = open["data/names.txt"]
print[f.read[]]
7Tôi biết bạn có thể hỏi. loại giá trị nào được trả về bởi
f = open["data/names.txt", "a"]
print[f.mode] # Output: "a"
9?Vâng, một đối tượng tập tin
Hãy nói một chút về họ
Đối tượng tệp
Theo Tài liệu Python, một đối tượng tệp là
Một đối tượng hiển thị API hướng tệp [với các phương thức như read[] hoặc write[]] vào tài nguyên bên dưới
Về cơ bản, điều này cho chúng ta biết rằng một đối tượng tệp là một đối tượng cho phép chúng ta làm việc và tương tác với các tệp hiện có trong chương trình Python của chúng ta
Các đối tượng tệp có các thuộc tính, chẳng hạn như
- Tên. tên của tập tin
- đóng cửa.
35 nếu tệp bị đóng.f = open["data/names.txt"] print[f.read[]]
36 ngược lạif = open["data/names.txt"] print[f.read[]]
- cách thức. chế độ được sử dụng để mở tệp
Ví dụ
f = open["data/names.txt", "a"]
print[f.mode] # Output: "a"
Bây giờ hãy xem cách bạn có thể truy cập nội dung của tệp thông qua đối tượng tệp
Phương pháp để đọc một tập tin
Để chúng tôi có thể làm việc với các đối tượng tệp, chúng tôi cần có cách "tương tác" với chúng trong chương trình của mình và đó chính xác là những gì phương thức làm. Hãy xem một số trong số họ
Đọc[]
Phương thức đầu tiên mà bạn cần tìm hiểu là
f = open["data/names.txt"]
print[f.read[]]
37, phương thức này trả về toàn bộ nội dung của tệp dưới dạng chuỗiỞ đây chúng ta có một ví dụ
f = open["data/names.txt"]
print[f.read[]]
đầu ra là
f = open["data/names.txt"]
print[f.read[]]
3Bạn có thể sử dụng hàm
f = open["data/names.txt"]
print[f.read[]]
38 để xác nhận rằng giá trị được trả về bởi f = open["data/names.txt"]
print[f.read[]]
39 là một chuỗif = open["data/names.txt"]
print[f.read[]]
3Vâng, đó là một chuỗi
Trong trường hợp này, toàn bộ tệp đã được in vì chúng tôi không chỉ định số byte tối đa, nhưng chúng tôi cũng có thể thực hiện việc này
Ở đây chúng ta có một ví dụ
f = open["data/names.txt"]
print[f.read[]]
8Giá trị trả về được giới hạn ở số byte này
f = open["data/names.txt"]
print[f.read[]]
9❗️Quan trọng. Bạn cần đóng tệp sau khi hoàn thành tác vụ để giải phóng các tài nguyên liên quan đến tệp. Để làm điều này, bạn cần gọi phương thức
f = open["data/names.txt"]
print[f.read[]]
80, như thế nàyReadline[] so với. Dòng đọc []
Bạn có thể đọc từng dòng tệp bằng hai phương pháp này. Chúng hơi khác nhau, vì vậy hãy xem chi tiết
f = open["data/names.txt"]
print[f.read[]]
81 đọc một dòng của tệp cho đến khi đọc đến cuối dòng đó. Một ký tự dòng mới ở cuối [f = open["data/names.txt"]
print[f.read[]]
82] được giữ trong chuỗi💡 Mẹo. Theo tùy chọn, bạn có thể chuyển kích thước, số lượng ký tự tối đa mà bạn muốn đưa vào chuỗi kết quả
Ví dụ
open["names.txt"] # The relative path is "names.txt"
3đầu ra là
open["data/names.txt"]
0Đây là dòng đầu tiên của tập tin
Ngược lại,
f = open["data/names.txt"]
print[f.read[]]
83 trả về một danh sách với tất cả các dòng của tệp dưới dạng các phần tử riêng lẻ [chuỗi]. Đây là cú phápVí dụ
open["data/names.txt"]
1đầu ra là
open["data/names.txt"]
2Lưu ý rằng có một
f = open["data/names.txt"]
print[f.read[]]
82 [ký tự dòng mới] ở cuối mỗi chuỗi, ngoại trừ chuỗi cuối cùng💡 Mẹo. Bạn có thể nhận được danh sách tương tự với
f = open["data/names.txt"]
print[f.read[]]
85Bạn có thể làm việc với danh sách này trong chương trình của mình bằng cách gán nó cho một biến hoặc sử dụng nó trong một vòng lặp
open["data/names.txt"]
3Chúng tôi cũng có thể lặp lại trực tiếp trên
f = open["data/names.txt"]
print[f.read[]]
86 [đối tượng tệp] trong một vòng lặpopen["data/names.txt"]
4Đó là những phương pháp chính được sử dụng để đọc các đối tượng tệp. Bây giờ hãy xem cách bạn có thể tạo tệp
🔹 Cách tạo tệp
Nếu bạn cần tạo một tệp "động" bằng Python, bạn có thể thực hiện với chế độ
f = open["data/names.txt"]
print[f.read[]]
34Hãy xem làm thế nào. Đây là cú pháp cơ bản
Đây là một ví dụ. Đây là thư mục làm việc hiện tại của tôi
Nếu tôi chạy dòng mã này
open["data/names.txt"]
5Một tệp mới có tên đó được tạo
Với chế độ này, bạn có thể tạo một tệp và sau đó ghi động vào tệp đó bằng cách sử dụng các phương thức mà bạn sẽ học chỉ trong giây lát
💡 Mẹo. Tệp ban đầu sẽ trống cho đến khi bạn sửa đổi nó
Một điều kỳ lạ là nếu bạn cố chạy lại dòng này và một tệp có tên đó đã tồn tại, bạn sẽ thấy lỗi này
open["data/names.txt"]
6Theo Tài liệu Python, ngoại lệ này [lỗi thời gian chạy] là
Xảy ra khi cố gắng tạo một tệp hoặc thư mục đã tồn tại
Bây giờ bạn đã biết cách tạo một tệp, hãy xem cách bạn có thể sửa đổi nó
🔸 Cách Sửa đổi Tệp
Để sửa đổi [ghi vào] một tệp, bạn cần sử dụng phương pháp
f = open["data/names.txt"]
print[f.read[]]
88. Bạn có hai cách để làm điều đó [nối thêm hoặc viết] dựa trên chế độ mà bạn chọn để mở nó. Hãy xem chúng một cách chi tiếtnối thêm
"Nối thêm" có nghĩa là thêm một thứ gì đó vào cuối một thứ khác. Chế độ
f = open["data/names.txt"]
print[f.read[]]
32 cho phép bạn mở một tệp để thêm một số nội dung vào đóVí dụ: nếu chúng ta có tệp này
Và chúng tôi muốn thêm một dòng mới vào nó, chúng tôi có thể mở nó bằng cách sử dụng chế độ
f = open["data/names.txt"]
print[f.read[]]
90 [nối thêm] và sau đó, gọi phương thức f = open["data/names.txt"]
print[f.read[]]
88, chuyển nội dung mà chúng tôi muốn nối thêm làm đối sốĐây là cú pháp cơ bản để gọi phương thức
f = open["data/names.txt"]
print[f.read[]]
88Đây là một ví dụ
open["data/names.txt"]
7💡 Mẹo. Lưu ý rằng tôi đang thêm
f = open["data/names.txt"]
print[f.read[]]
82 trước dòng để cho biết rằng tôi muốn dòng mới xuất hiện dưới dạng một dòng riêng biệt, không phải là phần tiếp theo của dòng hiện cóĐây là tệp bây giờ, sau khi chạy tập lệnh
💡 Mẹo. Dòng mới có thể không được hiển thị trong tệp cho đến khi
f = open["data/names.txt"]
print[f.read[]]
94 chạyViết
Đôi khi, bạn có thể muốn xóa nội dung của tệp và thay thế hoàn toàn bằng nội dung mới. Bạn có thể thực hiện việc này bằng phương pháp
f = open["data/names.txt"]
print[f.read[]]
88 nếu bạn mở tệp bằng chế độ f = open["data/names.txt"]
print[f.read[]]
96Ở đây chúng tôi có tập tin văn bản này
Nếu tôi chạy kịch bản này
open["data/names.txt"]
8Đây là kết quả
Như bạn có thể thấy, mở một tệp bằng chế độ
f = open["data/names.txt"]
print[f.read[]]
96 và sau đó ghi vào tệp đó sẽ thay thế nội dung hiện có💡 Mẹo. Phương thức
f = open["data/names.txt"]
print[f.read[]]
98 trả về số ký tự được viếtNếu bạn muốn viết nhiều dòng cùng một lúc, bạn có thể sử dụng phương thức
f = open["data/names.txt"]
print[f.read[]]
99, phương thức này nhận danh sách các chuỗi. Mỗi chuỗi đại diện cho một dòng sẽ được thêm vào tệpĐây là một ví dụ. Đây là tập tin ban đầu
Nếu chúng ta chạy kịch bản này
open["data/names.txt"]
9Các dòng được thêm vào cuối tập tin
Mở tệp cho nhiều thao tác
Bây giờ bạn đã biết cách tạo, đọc và ghi vào một tệp, nhưng nếu bạn muốn làm nhiều việc trong cùng một chương trình thì sao?
Nếu bạn mở một tệp ở chế độ
f = open["data/names.txt"]
print[f.read[]]
31 [đọc], rồi thử ghi vào tệp đóf = open["data/names.txt"]
print[f.read[]]
70Bạn sẽ nhận được lỗi này
f = open["data/names.txt"]
print[f.read[]]
71Tương tự, nếu bạn mở một tệp ở chế độ
f = open["data/names.txt"]
print[f.read[]]
33 [ghi], rồi cố đọc nóf = open["data/names.txt"]
print[f.read[]]
72Bạn sẽ thấy lỗi này
f = open["data/names.txt"]
print[f.read[]]
73Điều tương tự cũng xảy ra với chế độ
f = open["data/names.txt"]
print[f.read[]]
32 [chắp thêm]Làm thế nào chúng ta có thể giải quyết điều này?
f = open["data/names.txt"]
print[f.read[]]
74f = open["data/names.txt"]
print[f.read[]]
75____276Rất hữu ích đúng không?
Đôi khi các tập tin không còn cần thiết. Hãy xem cách bạn có thể xóa tệp bằng Python
🔹 Cách xóa tệp
Để xóa tệp bằng Python, bạn cần nhập một mô-đun có tên là
open["names.txt"] # The relative path is "names.txt"
34 chứa các chức năng tương tác với hệ điều hành của bạn💡 Mẹo. Một mô-đun là một tệp Python có các biến, hàm và lớp liên quan
Đặc biệt, bạn cần hàm
open["names.txt"] # The relative path is "names.txt"
35. Hàm này lấy đường dẫn đến tệp làm đối số và tự động xóa tệpHãy xem một ví dụ. Chúng tôi muốn xóa tệp có tên
open["names.txt"] # The relative path is "names.txt"
36Để làm điều đó, chúng tôi viết mã này
f = open["data/names.txt"]
print[f.read[]]
77- Dòng đầu tiên.
37 được gọi là "tuyên bố nhập khẩu". Câu lệnh này được viết ở đầu tệp của bạn và nó cho phép bạn truy cập vào các chức năng được xác định trong mô-đunopen["names.txt"] # The relative path is "names.txt"
38open["names.txt"] # The relative path is "names.txt"
- dòng thứ hai.
39 xóa tệp được chỉ địnhopen["names.txt"] # The relative path is "names.txt"
💡 Mẹo. bạn có thể sử dụng một đường dẫn tuyệt đối hoặc tương đối
Bây giờ bạn đã biết cách xóa tệp, hãy xem một công cụ thú vị. Trình quản lý bối cảnh
🔸 Gặp gỡ các nhà quản lý ngữ cảnh
Trình quản lý bối cảnh là các cấu trúc Python sẽ giúp cuộc sống của bạn dễ dàng hơn nhiều. Bằng cách sử dụng chúng, bạn không cần phải nhớ đóng tệp ở cuối chương trình và bạn có quyền truy cập vào tệp trong phần cụ thể của chương trình mà bạn chọn
cú pháp
Đây là một ví dụ về trình quản lý bối cảnh được sử dụng để làm việc với các tệp
💡 Mẹo. Phần thân của trình quản lý ngữ cảnh phải được thụt lề, giống như chúng ta thụt lề các vòng lặp, hàm và lớp. Nếu mã không được thụt vào, nó sẽ không được coi là một phần của trình quản lý bối cảnh
Khi phần nội dung của trình quản lý ngữ cảnh được hoàn thành, tệp sẽ tự động đóng lại
f = open["data/names.txt"]
print[f.read[]]
78Thí dụ
Đây là một ví dụ
f = open["data/names.txt"]
print[f.read[]]
79Trình quản lý bối cảnh này mở tệp
f = open["data/names.txt"]
print[f.read[]]
5 cho các hoạt động đọc/ghi và gán đối tượng tệp đó cho biến f = open["data/names.txt"]
print[f.read[]]
86. Biến này được sử dụng trong phần thân của trình quản lý ngữ cảnh để chỉ đối tượng tệpĐang cố đọc lại
Sau khi hoàn thành phần thân, tệp sẽ tự động đóng lại, vì vậy không thể đọc được nếu không mở lại. Nhưng đợi đã. Chúng tôi có một dòng cố gắng đọc lại nó, ngay dưới đây
f = open["data/names.txt", "a"]
print[f.mode] # Output: "a"
0Hãy xem điều gì sẽ xảy ra
f = open["data/names.txt", "a"]
print[f.mode] # Output: "a"
1Lỗi này xảy ra vì chúng tôi đang cố đọc một tệp đã đóng. Tuyệt vời, phải không?
🔹 Cách xử lý ngoại lệ khi làm việc với tệp
Khi bạn đang làm việc với các tệp, lỗi có thể xảy ra. Đôi khi, bạn có thể không có các quyền cần thiết để sửa đổi hoặc truy cập tệp hoặc tệp thậm chí có thể không tồn tại
Là một lập trình viên, bạn cần lường trước những trường hợp này và xử lý chúng trong chương trình của mình để tránh những sự cố đột ngột có thể ảnh hưởng nghiêm trọng đến trải nghiệm người dùng
Hãy xem một số ngoại lệ phổ biến nhất [lỗi thời gian chạy] mà bạn có thể tìm thấy khi làm việc với tệp
FileNotFoundError
Theo Tài liệu Python, ngoại lệ này là
Xảy ra khi một tệp hoặc thư mục được yêu cầu nhưng không tồn tại
Ví dụ: nếu tệp bạn đang cố mở không tồn tại trong thư mục làm việc hiện tại của bạn
f = open["data/names.txt", "a"]
print[f.mode] # Output: "a"
2Bạn sẽ thấy lỗi này
f = open["data/names.txt", "a"]
print[f.mode] # Output: "a"
3Hãy sửa lỗi này theo từng dòng
02. Dòng này cho bạn biết rằng lỗi đã xảy ra khi mã trên tệp nằm trongopen["data/names.txt"]
03 đang chạy. Cụ thể, khiopen["data/names.txt"]
04 được thực thi trongopen["data/names.txt"]
05open["data/names.txt"]
06. Đây là dòng gây ra lỗiopen["data/names.txt"]
07. Dòng này nói rằng một ngoại lệopen["data/names.txt"]
08 đã được đưa ra vì tệp hoặc thư mụcopen["data/names.txt"]
5 không tồn tạif = open["data/names.txt"] print[f.read[]]
💡 Mẹo. Python rất mô tả với các thông báo lỗi, phải không?
QuyềnLỗi
Đây là một ngoại lệ phổ biến khác khi làm việc với tệp. Theo Tài liệu Python, ngoại lệ này là
Xảy ra khi cố chạy một thao tác mà không có quyền truy cập đầy đủ - ví dụ: quyền hệ thống tệp
Ngoại lệ này được đưa ra khi bạn đang cố đọc hoặc sửa đổi tệp không có quyền truy cập. Nếu bạn cố gắng làm như vậy, bạn sẽ thấy lỗi này
f = open["data/names.txt", "a"]
print[f.mode] # Output: "a"
4IsADirectoryError
Theo Tài liệu Python, ngoại lệ này là
Xảy ra khi một thao tác tệp được yêu cầu trên một thư mục
Ngoại lệ cụ thể này được đưa ra khi bạn cố gắng mở hoặc làm việc trên một thư mục thay vì một tệp, vì vậy hãy thực sự cẩn thận với đường dẫn mà bạn chuyển làm đối số
Cách xử lý ngoại lệ
Để xử lý những ngoại lệ này, bạn có thể sử dụng câu lệnh try/except. Với câu lệnh này, bạn có thể "ra lệnh" cho chương trình của mình phải làm gì trong trường hợp có điều gì đó không mong muốn xảy ra
Đây là cú pháp cơ bản
f = open["data/names.txt", "a"]
print[f.mode] # Output: "a"
5Ở đây bạn có thể xem một ví dụ với
open["data/names.txt"]
08f = open["data/names.txt", "a"]
print[f.mode] # Output: "a"
6Điều này về cơ bản nói
- Hãy thử mở tệp
5f = open["data/names.txt"] print[f.read[]]
- Nếu một
08 bị ném, đừng va chạm. Chỉ cần in một tuyên bố mô tả cho người dùngopen["data/names.txt"]
💡 Mẹo. Bạn có thể chọn cách xử lý tình huống bằng cách viết mã thích hợp vào khối
open["data/names.txt"]
13. Có lẽ bạn có thể tạo một tệp mới nếu nó chưa tồn tạiĐể tự động đóng tệp sau tác vụ [bất kể có ngoại lệ nào được đưa ra trong khối
open["data/names.txt"]
14 hay không], bạn có thể thêm khối open["data/names.txt"]
15f = open["data/names.txt", "a"]
print[f.mode] # Output: "a"
7Đây là một ví dụ
f = open["data/names.txt", "a"]
print[f.mode] # Output: "a"
8Có nhiều cách để tùy chỉnh câu lệnh thử/ngoại trừ/cuối cùng và thậm chí bạn có thể thêm một khối
open["data/names.txt"]
16 để chỉ chạy một khối mã nếu không có ngoại lệ nào được đưa ra trong khối open["data/names.txt"]
14💡 Mẹo. Để tìm hiểu thêm về xử lý ngoại lệ trong Python, bạn có thể đọc bài viết của tôi. "Cách xử lý ngoại lệ trong Python. Giới thiệu trực quan chi tiết"
🔸 Tóm lại
- Bạn có thể tạo, đọc, ghi và xóa tệp bằng Python
- Các đối tượng tệp có bộ phương thức riêng mà bạn có thể sử dụng để làm việc với chúng trong chương trình của mình
- Trình quản lý bối cảnh giúp bạn làm việc với các tệp và quản lý chúng bằng cách tự động đóng chúng khi hoàn thành một tác vụ
- Xử lý ngoại lệ là chìa khóa trong Python. Các trường hợp ngoại lệ phổ biến khi bạn đang làm việc với các tệp bao gồm
08,open["data/names.txt"]
19 vàopen["data/names.txt"]
20. Chúng có thể được xử lý bằng cách sử dụng try/ngoại trừ/khác/cuối cùngopen["data/names.txt"]
Tôi thực sự hy vọng bạn thích bài viết của tôi và thấy nó hữu ích. Bây giờ bạn có thể làm việc với các tệp trong dự án Python của mình. Kiểm tra các khóa học trực tuyến của tôi. Theo dõi tôi trên Twitter. ⭐️
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
Nhà phát triển, nhà văn kỹ thuật và người tạo nội dung @freeCodeCamp. Tôi chạy freeCodeCamp. org Kênh YouTube Español
Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu