Mở file với chế độ mode r có nghĩa là gì

Mở file với chế độ mode ‘ a ‘ có ý nghĩa gì?

A. Mở file ở chế độ chỉ được phép đọc.

B. Mở file ở chế độ ghi. 

C. Mở file chế độ ghi tiếp vào cuối file.

D. Mở file để đọc và ghi.

Hướng dẫn

Chọn C là đáp án đúng

9/23/2009 1:27:36 PM

Mở file với chế độ mode r có nghĩa là gì

Nguyễn Bích Hợp · Nguyễn Bích Hợp 13:27 23/09/2009

Trong python built-in mở chức năng, sự khác biệt chính xác giữa các phương thức là gì w, a, w+, a+, và r+?

Đặc biệt, tài liệu ngụ ý rằng tất cả những điều này sẽ cho phép ghi vào tệp và nói rằng nó mở tệp để "bổ sung", "viết" và "cập nhật" cụ thể, nhưng không xác định ý nghĩa của các thuật ngữ này.

696 hữu ích 3 bình luận 486k xem chia sẻ

answer

Mở file với chế độ mode r có nghĩa là gì

Nguyễn Minh Trung · Nguyễn Minh Trung 13:33 23/09/2009

Các chế độ mở là hoàn toàn giống như đối với các chức năng thư viện chuẩn C fopen().

Các BSD fopenmanpage định nghĩa chúng như sau:

The argument mode points to a string beginning with one of the following sequences (Additional characters may follow these sequences.): ``r'' Open text file for reading. The stream is positioned at the beginning of the file. ``r+'' Open for reading and writing. The stream is positioned at the beginning of the file. ``w'' Truncate file to zero length or create text file for writing. The stream is positioned at the beginning of the file. ``w+'' Open for reading and writing. The file is created if it does not exist, otherwise it is truncated. The stream is positioned at the beginning of the file. ``a'' Open for writing. The file is created if it does not exist. The stream is positioned at the end of the file. Subsequent writes to the file will always end up at the then current end of file, irrespective of any intervening fseek(3) or similar. ``a+'' Open for reading and writing. The file is created if it does not exist. The stream is positioned at the end of the file. Subse- quent writes to the file will always end up at the then current end of file, irrespective of any intervening fseek(3) or similar.

827 hữu ích 5 bình luận chia sẻ

answer

Mở file với chế độ mode r có nghĩa là gì

Tạ Thanh Phúc · Tạ Thanh Phúc 05:13 01/06/2015

Tôi nhận thấy rằng thỉnh thoảng tôi cần phải mở lại Google, chỉ để xây dựng một hình ảnh tinh thần về sự khác biệt cơ bản giữa các chế độ là gì. Vì vậy, tôi nghĩ rằng một sơ đồ sẽ được đọc nhanh hơn vào lần sau. Có thể ai đó khác cũng sẽ thấy điều đó hữu ích.

Mở file với chế độ mode r có nghĩa là gì

606 hữu ích 5 bình luận chia sẻ

answer

Mở file với chế độ mode r có nghĩa là gì

Lý Hữu Tâm · Lý Hữu Tâm 06:26 19/06/2015

Cùng một thông tin, chỉ ở dạng bảng

| r r+ w w+ a a+ ------------------|-------------------------- read | + + + + write | + + + + + write after seek | + + + create | + + + + truncate | + + position at start | + + + + position at end | + +

nghĩa ở đâu: (chỉ để tránh mọi sự hiểu sai)

  • đọc - đọc từ tệp được cho phép
  • ghi - ghi vào tệp được phép

  • create - tệp được tạo nếu nó chưa tồn tại

  • dấu chấm câu - trong khi mở tệp, tệp sẽ trống (tất cả nội dung của tệp sẽ bị xóa)

  • vị trí ở đầu - sau khi tệp được mở, vị trí ban đầu được đặt thành đầu tệp

  • vị trí ở cuối - sau khi tệp được mở, vị trí ban đầu được đặt ở cuối tệp

Lưu ý: avà a+luôn thêm vào cuối tệp - bỏ qua bất kỳ seekchuyển động nào .
BTW. hành vi thú vị ít nhất trên win7 / python2.7 của tôi, đối với tệp mới được mở ở a+chế độ:
write('aa'); seek(0, 0); read(1); write('b')- thứ hai writebị bỏ qua
write('aa'); seek(0, 0); read(2); write('b')- lần writetăng thứ haiIOError

241 hữu ích 5 bình luận chia sẻ

answer

Mở file với chế độ mode r có nghĩa là gì

Đặng Kim Yến · Đặng Kim Yến 13:33 23/09/2009

Các tùy chọn tương tự như đối với hàm fopen trong thư viện chuẩn C:

w cắt bớt tệp, ghi đè lên bất kỳ thứ gì đã có ở đó

a gắn vào tệp, thêm vào bất cứ thứ gì đã có ở đó

w+ mở để đọc và ghi, cắt bớt tệp nhưng cũng cho phép bạn đọc lại những gì đã được ghi vào tệp

a+ mở ra để thêm vào và đọc, cho phép bạn vừa thêm vào tệp và cũng có thể đọc nội dung của nó

43 hữu ích 2 bình luận chia sẻ

answer

Mở file với chế độ mode r có nghĩa là gì

Vũ Thanh Loan · Vũ Thanh Loan 01:51 05/01/2017

Tôi nghĩ điều này là quan trọng cần xem xét để thực hiện đa nền tảng, tức là như một CYA. :)

Trên Windows, 'b' được thêm vào chế độ sẽ mở tệp ở chế độ nhị phân, vì vậy cũng có các chế độ như 'rb', 'wb' và 'r + b'. Python trên Windows phân biệt giữa tệp văn bản và tệp nhị phân; các ký tự cuối dòng trong tệp văn bản được tự động thay đổi một chút khi dữ liệu được đọc hoặc ghi. Việc sửa đổi hậu trường này đối với dữ liệu tệp là tốt cho các tệp văn bản ASCII, nhưng nó sẽ làm hỏng dữ liệu nhị phân như trong tệp JPEG hoặc EXE. Hãy rất cẩn thận để sử dụng chế độ nhị phân khi đọc và ghi các tệp như vậy. Trên Unix, không có hại gì khi thêm 'b' vào chế độ, vì vậy bạn có thể sử dụng nó độc lập với nền tảng cho tất cả các tệp nhị phân.

Này được trích dẫn trực tiếp từ Python Software Foundation 2.7.x .

10 hữu ích 0 bình luận chia sẻ

answer

Mở file với chế độ mode r có nghĩa là gì

Phạm Phi Nhạn · Phạm Phi Nhạn 01:09 24/09/2014

Tôi đã đạt được điều này để cố gắng tìm ra lý do tại sao bạn sẽ sử dụng chế độ 'w +' so với 'w'. Cuối cùng, tôi chỉ làm một số thử nghiệm. Tôi không thấy có nhiều mục đích cho chế độ 'w +', vì trong cả hai trường hợp, tệp bị cắt bớt để bắt đầu. Tuy nhiên, với 'w +', bạn có thể đọc sau khi viết bằng cách tìm lại. Nếu bạn thử đọc bất kỳ cách đọc nào với 'w', nó sẽ xuất hiện IOError. Việc đọc mà không sử dụng seek với chế độ 'w +' sẽ không mang lại kết quả gì, vì con trỏ tệp sẽ nằm sau nơi bạn đã viết.

10 hữu ích 0 bình luận chia sẻ

answer

Mở file với chế độ mode r có nghĩa là gì

Huỳnh Di Hân · Huỳnh Di Hân 06:03 24/02/2021

Tôi thấy điều quan trọng cần lưu ý là python 3 xác định các chế độ mở khác với các câu trả lời ở đây là chính xác cho Python 2.

Các chế độ mở Python 3 là:

'r' open for reading (default) 'w' open for writing, truncating the file first 'x' open for exclusive creation, failing if the file already exists 'a' open for writing, appending to the end of the file if it exists ---- 'b' binary mode 't' text mode (default) '+' open a disk file for updating (reading and writing) 'U' universal newlines mode (for backwards compatibility; should not be used in new code)

Các chế độ r, w, x, ađược kết hợp với các bổ từ chế độ bhoặc t. +là tùy chọn được thêm vào, Unên tránh.

Như tôi đã phát hiện ra một cách khó khăn, bạn nên luôn chỉ định tkhi mở tệp ở chế độ văn bản vì đây rlà bí danh cho hàm rttiêu chuẩn open()nhưng là bí danh cho rbcác open()chức năng của tất cả các mô-đun nén (ví dụ: khi đọc *.bz2tệp) .

Do đó, các chế độ để mở tệp phải là:

rt/ wt/ xt/ atđể đọc / ghi / tạo / thêm vào một tệp ở chế độ văn bản và

rb/ wb/ xb/ abđể đọc / ghi / tạo / thêm vào một tệp ở chế độ nhị phân.

Sử dụng +như trước đây.

2 hữu ích 0 bình luận chia sẻ

Xem nguồn: https://stackoverflow.com/questions/1466000/difference-between-modes-a-a-w-w-and-r-in-built-in-open-function

loading

loading