Python có ghi đè lên không?
Trong hướng dẫn này, chúng ta sẽ học cách sử dụng Python để thay thế một tệp văn bản hiện có bằng một tệp mới, tệp này có thể chứa nội dung khác. Theo một cách nào đó, điều này tương tự như việc tạo một tệp văn bản Python có cùng đường dẫn trong hệ điều hành của bạn. Hướng dẫn này được viết trên máy tính Windows 11, nhưng nó có thể áp dụng với các điều chỉnh rất nhỏ đối với hệ điều hành macOS và Linux Show
Một lời cảnh báo trước khi tiếp tục. Luôn đảm bảo rằng bạn sao lưu bất kỳ tệp nào trước khi thay đổi chúng theo chương trình Ghi đè tệp bằng PythonTrong đoạn mã đầu tiên này, chúng tôi sẽ thay thế một tệp hiện có bằng một tệp mới. Chúng tôi bắt đầu bằng cách xác định đường dẫn tệp sẽ được ghi đè, sau đó chúng tôi xác định nội dung tệp (trong trường hợp của chúng tôi - một đối tượng chuỗi dòng đơn). Sau đó, sử dụng chức năng mở TextIOWrapper và truy cập tệp ở dạng ghi ('w') nhiều hơn để chúng tôi có thể lưu văn bản vào tệp mới của mình
ghi chú
FileNotFoundError: [Errno 2] No such file or directory:
Thay thế tệp nếu tồn tạiĐể làm cho mã của chúng tôi mạnh mẽ hơn một chút, chúng tôi có thể kiểm tra xem thư mục và tệp có tồn tại không
Thay thế nhiều tệp trong một thư mụcMột trường hợp sử dụng thú vị hơn là ghi đè lên nhiều tệp văn bản hoặc tệp csv trong một thư mục hệ điều hành. Hãy xem xét đoạn mã sau Ghi vào một tập tin hiện cóĐể ghi vào một tệp hiện có, bạn phải thêm một tham số vào hàm 9 0 - Nối - sẽ nối vào cuối tệp 1 - Viết - sẽ ghi đè lên mọi nội dung hiện cóVí dụMở tệp "demofile2. txt" và nối thêm nội dung vào tệp f = open("file demo2. txt", "a") #open và đọc tệp sau khi nối thêm. Ví dụMở tệp "demofile3. txt" và ghi đè lên nội dung f = open("file demo3. txt", "w") #open và đọc tệp sau khi nối thêm. Ghi chú. phương thức "w" sẽ ghi đè lên toàn bộ tệp Tạo một tệp mớiĐể tạo một tệp mới trong Python, hãy sử dụng phương thức 9, với một trong các tham số sau 3 - Tạo - sẽ tạo tệp, trả về lỗi nếu tệp tồn tại 0 - Nối thêm - sẽ tạo tệp nếu tệp được chỉ định không tồn tại 1 - Viết - sẽ tạo tệp nếu tệp được chỉ định không tồn tạiVí dụTạo một tệp có tên "myfile. txt" f = open("tệp của tôi. txt", "x") Kết quả. một tệp trống mới được tạo Ví dụTạo một tập tin mới nếu nó không tồn tại f = open("tệp của tôi. txt", "w") Như đã chỉ ra trong một bài viết trước liên quan đến việc đọc dữ liệu từ tệp, xử lý tệp là kiến thức cần thiết của mọi lập trình viên Python chuyên nghiệp và có sở thích. Tính năng này là một phần cốt lõi của ngôn ngữ Python và không cần tải thêm mô-đun nào để thực hiện đúng cách
Khái niệm cơ bản về ghi tệp bằng PythonCó ba chức năng phổ biến để hoạt động với các tệp trong Python
Ghi chú. 9 là một hàm Python tích hợp trả về một trình xử lý tệp đại diện cho a được sử dụng để truy cập tệp để đọc, viết hoặc nối thêmGhi vào một tệp yêu cầu một vài quyết định - tên của tệp để lưu trữ dữ liệu và chế độ truy cập của tệp. Có sẵn hai chế độ, ghi vào một tệp mới (và ghi đè lên bất kỳ dữ liệu hiện có nào) và thêm dữ liệu vào cuối tệp đã tồn tại. Các chữ viết tắt theo là "w" và "a" và phải được chỉ định trước khi mở tệp Ghi chú. Bên cạnh các cờ "w" và "a" đã đề cập, còn có một cờ khác, mạnh hơn - cờ "w+", mở tệp cho cả đọc và ghi Viết một dòng vào một tệpVí dụ đầu tiên này khá giống với việc ghi vào tệp bằng ngôn ngữ lập trình phổ biến C và C++. Quá trình này khá đơn giản. Trước tiên, chúng tôi mở tệp bằng cách sử dụng hàm 9 tích hợp để ghi, viết một dòng văn bản vào tệp bằng phương pháp 4, sau đó đóng tệp bằng phương pháp 1. Hãy nhớ rằng do cách chúng tôi mở tệp 6, nó sẽ được tạo nếu nó chưa tồn tại hoặc nó sẽ bị ghi đè hoàn toàn________số 8Toàn bộ quá trình này có thể được rút ngắn bằng cách sử dụng câu lệnh 7
Như đã nói trước đây, hãy nhớ rằng việc mở tệp 6 theo cách này sẽ tạo tệp nếu tệp chưa tồn tại hoặc ghi đè hoàn toàn tệp đóViết một danh sách các dòng vào một tập tinTrên thực tế, một tệp không chỉ bao gồm một dòng mà còn nhiều dữ liệu hơn. Do đó, nội dung của tệp được lưu trữ trong danh sách đại diện cho bộ đệm tệp. Để ghi toàn bộ bộ đệm tệp, chúng tôi sẽ sử dụng phương pháp 9FileNotFoundError: [Errno 2] No such file or directory:3 Chạy chương trình Python trước rồi dùng lệnh FileNotFoundError: [Errno 2] No such file or directory:30 ta thấy file 6 có nội dung như sauFileNotFoundError: [Errno 2] No such file or directory:6 Điều này xảy ra vì phương thức 9 không tự động thêm bất kỳ dấu phân cách dòng nào khi ghi dữ liệu, mặc dù theo trực giác, phương thức này sẽ ghi từng dòng riêng lẻĐiều này có thể dễ dàng khắc phục bằng cách thêm ký tự FileNotFoundError: [Errno 2] No such file or directory:33 (dòng mới) vào cuối mỗi dòng. Ngoài ra, chúng ta có thể đơn giản hóa vòng lặp bằng biểu thức trình tạo FileNotFoundError: [Errno 2] No such file or directory:9 Bây giờ, tệp đầu ra 6 có nội dung mong muốnHã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ó 1Gắn thêm dữ liệu vào một tệpCho đến nay, chúng tôi đã lưu trữ dữ liệu trong các tệp mới hoặc ghi đè dữ liệu trong các tệp hiện có. Nhưng nếu chúng ta muốn nối thêm dữ liệu vào cuối một tệp hiện có thì sao? . Chúng tôi thay đổi mã truy cập thành FileNotFoundError: [Errno 2] No such file or directory:35 thay vì FileNotFoundError: [Errno 2] No such file or directory:36 4Như trước đây, chúng ta cũng có thể viết lại mã trước đó bằng cách sử dụng câu lệnh 7 6Sử dụng cùng một tệp 6 từ trước, chạy mã này sẽ tạo ra nội dung tệp sau 8Phần kết luậnGhi dữ liệu văn bản thuần túy vào tệp hoặc nối thêm dữ liệu vào tệp hiện có dễ dàng như đọc từ tệp trong Python. Ngay khi tệp được đóng sau khi ghi hoặc nối thêm dữ liệu, Python sẽ kích hoạt cuộc gọi đồng bộ hóa. Kết quả là, tập tin cập nhật ngay lập tức được ghi vào đĩa R+ có ghi đè lên Python không?Ở chế độ r+, chúng ta có thể đọc và ghi tệp nhưng vị trí con trỏ tệp nằm ở đầu tệp; . Ví dụ dưới đây sử dụng f. read() để di chuyển con trỏ tệp đến cuối tệp và nối thêm một dòng mới. if we write the file directly, it will overwrite the beginning content. The below example uses f. read() to move the file pointer to the end of the file, and append a new line.
Viết hoạt động như thế nào trong Python?Phương thức write() ghi một văn bản đã chỉ định vào tệp . Nơi văn bản được chỉ định sẽ được chèn vào tùy thuộc vào chế độ tệp và vị trí luồng. "một". Văn bản sẽ được chèn vào vị trí dòng tệp hiện tại, mặc định ở cuối tệp. |