Hướng dẫn dùng to write python
Nội dung chính Show
Nội dung chính
Hướng
dẫn cách xử lý file trong Python. Bạn sẽ học được các cách ghi vào file trong python như ghi chèn file, ghi đè file, cách dùng các phương thức như write(), writelines() để ghi file, cũng như cách tạo file rỗng trong python sau bài học này. Ghi file trong pythonĐể ghi file trong python, trước hết chúng ta cần mở file đó bằng hàm open() hoặc bằng câu lệnh with mà Kiyoshi đã hướng dẫn trong bài Mở và đóng file trong python, với một trong các mode sau đây:
Ví dụ: f = open('myfile.txt',"w") Sau khi mở file và thu về một object file, chúng ta có thể sử dụng các phương pháp sau để thao tác với object file và thực hiện ghi vào file trong python:
Hãy cùng tìm hiểu lần lượt các nội dung trên ở phần sau đây. Ghi chuỗi vào file trong python | phương thức write()Đúng như ý nghĩa tiếng anh của tên phương thức, write() được dùng để ghi chuỗi vào file trong python, với cú pháp sau đơn giản sau đây: f.write(str) Trong đó f là object file được tạo khi mở file bằng hàm open(), str là chuỗi ký tự bạn muốn ghi đè vào file. Lưu ý là phương thức write() không tự động chèn ký tự xuống dòng vào file, nên nếu bạn muốn ghi nhiều dòng vào file, hãy thêm ký tự xuống dòng \n vào trong chuỗi cần ghi như ví dụ sau: path_w = 'data/src/myfile.txt' Cần lưu ý là ký tự xuống dòng trong các hệ điều hành là khác nhau, ví dụ như trong macOS là \r còn trong Windows là \r\n chẳng hạn, tuy nhiên chỉ cần bạn chỉ định \n trong python thì chương trình sẽ tự động điều chỉnh ký tự xuống dòng cho phù hợp với OS mà bạn đang dùng. Lại nữa, phương thức write() chỉ sử dụng để ghi chuỗi vào file trong python. Nếu chúng ta chỉ định một giá trị có kiểu dữ liệu khác kiểu chuỗi, ví dụ như là kiểu số chẳng hạn, lỗi sẽ bị trả về: path_w = 'data/src/myfile.txt' Do đó, bạn cần phải chuyển kiểu dữ liệu về kiểu chuỗi trước khi có thể tiến hành ghi nội dung vào file. Về cách chuyển số thành chuỗi, hãy xem chi tiết tại bài Chuyển số thành chuỗi trong python. Ghi chuỗi theo định dạng vào file trong python bằng phương thức write()Đây là các ghi chuỗi vào file nâng cao bằng phương thức write(). Chúng ta thay đổi chuỗi cần ghi theo một định dạng chỉ định trước khi ghi nó vào trong file. Và để định dạng chuỗi trước khi ghi vào file thì chúng ta cần sử dụng tới phương pháp định dạng chuỗi trong python bằng phương thức format mà Kiyoshi đã hướng dẫn trong bài Định dạng chuỗi trong python. Cú pháp ghi chuỗi theo định dạng vào file trong python bằng phương thức write() sẽ như sau: f.write(pattern. format ( value1 , value2 , value3 , …)) Trong đó f là object file được tạo khi mở file bằng hàm open(), pattern là các định dạng chuỗi chứa các trường thay thế (field) để gán giá trị (value) trong đối số của hàm format. Sau khi định dạng chuỗi xong thì chuỗi được định dạng sẽ được ghi vào trong object file. Ví dụ cụ thể: a = "Kiyoshi" Khi đó, các chuỗi sẽ được định dạng theo định dạng chỉ định và ghi vào file sample.txt như sau: Kiyoshi 30 Tokyo Ghi list vào file trong python | phương thức writelines()Chúng ta có thể ghi list vào file trong python bằng cách sử dụng phương thức writelines(), với cú pháp như sau: f.writelines(list) Trong đó f là object file được tạo khi mở file bằng hàm open(), list là list chứa nội dung bạn muốn ghi đè vào file. Ví dụ: l = ['One', 'Two', 'Three'] Cách viết tương tự với lệnh with: l = ['One', 'Two', 'Three'] Cả hai đều cho ra kết quả như sau: OneTwoThree Lưu ý là giống với phương thức write(), writeness() cũng không tự thêm ký tự xuống dòng khi ghi chuỗi, do đó bạn cần phải thêm ký tự xuống dòng vào giá trị của phần tử trong list khi cần thiết. Ví dụ, bạn thêm ký tự xuống dòng khi khai báo list l
= ['One\n', 'Two\n', 'Three'] Hoặc là thêm ký tự xuống dòng trước khi ghi vào file l = ['One', 'Two', 'Three'] Cả hai đều cho ra kết quả giống nhau: One Ở ví dụ trên chúng ta có sử dụng tới phương thức join() để thêm ký tự xuống dòng \ vào trong list python. Bạn có thể tìm hiểu chi tiết hơn tại bài viết Phương thức Join() trong Python Tạo file rỗng trong python | câu lệnh passTrong một số chương trình, tùy vào mục đích sử dụng mà chúng ta có thể tạo một file rỗng mà không tiến hành thêm xử lý nào luôn với file đó. File này có thể được sử dụng trong các phần khác của chương trình. Khi đó chúng ta cần mở file bằng hàm open() với mode w, kèm với sử dụng lệnh pass như ví dụ sau đây: with open('data/src/empty.txt', 'w'): Lưu ý là nếu như folder nơi chứa file rỗng cần tạo không tồn tại, lỗi FileNotFoundError sẽ bị trả về: with open('data/src/temp/empty.txt', 'w'): Ghi file trong python với các mode trong hàm open()Ghi đè file trong python | mode wỞ phần trên, chúng ta đã sử dụng mode w trong hàm open() để ghi đè file trong
python. f = open ( 'myfile.txt' , 'w' ) Nếu file được chỉ định không tồn tại, một file mới sẽ được tạo ra. Nếu file đó đã tồn tại, nội dung cũ của file bị xóa trước khi được ghi đè nội dung mới lên. Ví dụ chúng ta có file myfile.txt có nội dung là old file và muốn ghi đè nội dung mới là new file: path_w = 'data/src/myfile.txt' Bạn cũng có thể sử dụng với lệnh With như sau: path_w =
'data/src/myfile.txt' Cả hai cách làm đều đưa ra cùng kết quả: old file Mặc dù nếu file không tồn tại một file mới sẽ được tạo ra, nhưng nếu ngay cả folder chứa file này cũng không tồn tại, lỗi FileNotFoundError sẽ bị trả về: with open('data/src/new_dir/myfile.txt', mode='w') as f: Lại nữa, do phương pháp ghi đè file trong python bằng mode w sẽ xóa toàn bộ nội dung cũ trước khi ghi đè nội dung mới vào file, nên mặc cho mã ký tự sử dụng trong file trước khi ghi đè là gì chăng nữa, thì file sau khi ghi đè cũng sẽ có mã ký tự mới, nếu bạn chỉ định khi ghi file. Và lỗi cũng không xảy ra kể cả khi mã ký tự mới và cũ có khác nhau. Ví dụ chúng ta có myfile.txt được viết với mã asscii. Nếu chúng ta mở file này với mã ký tự utf-8 thì lỗi cũng không xảy ra. Ghi chèn file trong python | mode aỞ phần trên chúng ta đã biết nếu sử dụng mode w thì chúng ta sẽ ghi đè nội dung mới lên nội dung cũ của file. Với mode a, nếu file được chỉ định không tồn tại, một file mới sẽ được tạo ra. Nếu file đó đã tồn tại, nội dung mới sẽ được chèn vào file bắt đầu từ vị trí cuối cùng của nội dung cũ trong file. Cú pháp ghi chèn file trong python với mode a như sau: open('myfile.txt', 'a') Chúng ta cũng sử dụng phương thức write() hoặc writelines() để ghi chèn file trong python, giống như các ví dụ cụ thể sau đây: Giả sử chúng ta có file myfile.txt có nội dung là One, và chúng ta muốn chèn thêm nội dung Two vào cuối file* path_a = 'data/src/myfile.txt' Bạn cũng có thể sử dụng với lệnh With như sau: path_a =
'data/src/myfile.txt' Cả hai cách làm đều đưa ra cùng kết quả: One Nếu muốn xuống dòng khi ghi chèn nội dung, bạn cũng cần chỉ định ký tự xuống dòng khi ghi: path_a = 'data/src/myfile.txt' Lưu ý, khác với mode w sẽ xóa toàn bộ nội dung cũ trước khi ghi đè lên, mode a là chèn nội dung mới vào nội dung cũ, do đó nếu mã ký tự của file trước và sau khi ghi nội dung khác nhau, thì khi dùng mode a, tuy lỗi không xảy ra, nhưng ký tự trong file có thể bị biến dạng khi chúng ta mở và xem file. Tạo mới và ghi file trong python | mode xKhác với hai mode w và mode a cũng dùng để ghi file trong python, mode x lại dùng để tạo mới và ghi nội dung vào file vừa tạo. Nếu file được chỉ định không tồn tại, một file mới sẽ được tạo ra và được dùng để ghi file. Tuy nhiên nếu file đó đã tồn tại, do không thể tạo mới nên lỗi FileExistsError sẽ xảy ra. Cú pháp sử dụng mode x khi ghi file trong python bằng hàm open() như sau: f = open ( 'myfile.txt' , 'x' ) Chúng ta cũng sử dụng phương thức write() hoặc writelines() khi sử dụng mode x, giống như các ví dụ cụ thể sau đây: path_s= 'data/src/temp/myfile.txt' Nếu như file trên đã tồn tại trước đó, lỗi FileExistsError sẽ bị trả về: FileExistsError: [Errno 17] File exists: 'data/src/temp/myfile.txt' Còn nếu file trên không tồn tại trước đó, một file mới được tạo ra và nội dung file được in ra như sau: OneTwoThree Do khi sử
dụng hàm open() để ghi file trong python với mode x, rất có khả năng là file vốn đã tồn tại trước đó dẫn đến xảy ra lỗi và ảnh hưởng tới các phần khác của chương trình. path_s= 'data/src/temp/myfile.txt' Ngoài try và except, bạn cũng có thể sử dụng tới phươg thức os.path.isfile() trong module os để kiểm tra xem file chỉ định có tồn tại hay không, trước khi dùng mode x để tránh lỗi xảy ra, như ví dụ sau đây: import os Lại nữa, mặc dù khi file sẽ được tạo ra nếu nó không tồn tại trước đó, tuy nhiên nếu folder chứa file đó cũng không tồn tại từ trước, lỗi FileNotFoundError sẽ xảy ra như sau. Để giải quyết lỗi này, chúng ta cần tới câu lệnh để tạo ra một folder nếu nó không tồn tại trước đó, bằng cách sử dụng modeule os như sau: import
os Tổng kếtTrên đây Kiyoshi đã hướng dẫn bạn về các cách ghi file trong python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé. Và hãy cùng tìm hiểu các kiến thức về Python trong các bài viết sau. Viết bởi Kiyoshi. Đã đăng ký bản quyền tác giả tại <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" rel="license noopener" target="_blank" href="https://creativecommons.org/licenses/by-nc-nd/4.0/">Creativecommons</a> và <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" target="_blank" rel="noopener" href="https://www.dmca.com/Protection/Status.aspx?ID=1631afcd-7c4a-467d-8016-402c5073e5cd" class="dmca-badge">DMCA</a><script src="https://images.dmca.com/Badges/DMCABadgeHelper.min.js"> Bài viết liên quanHãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam! HOME>> python cơ bản - lập trình python cho người mới bắt đầu>>16. xử lý file trong python
Bài Viết Liên QuanQuảng CáoCó thể bạn quan tâmToplist được quan tâm#1
Top 7 sự tích hồ gươm - ngữ văn lớp 6 20234 tháng trước#2
Top 7 gdcd 6 bài 1 kết nối tri thức 20234 tháng trước#3
Top 7 ý nghĩa của xây dựng gia đình văn hóa 20234 tháng trước#4
Top 6 mẫu hợp đồng mượn đất làm nhà xưởng 20234 tháng trước#5
Top 3 tổng tài biến thái tôi yêu anh tập 27 20234 tháng trước#6
Top 6 kết thực phim mỹ nhân vô lệ 20234 tháng trước#7
#8
Top 8 đề tài và chủ de của tác phẩm tắt đèn 20234 tháng trước#9
Top 5 tiểu sử của thầy thích pháp hòa 20234 tháng trướcQuảng cáoXem NhiềuCathy doll kem chông nang review năm 20241 tuần trướcTop 10 tiền đạo hay nhất thế giới 2023 năm 20246 ngày trướcSo sánh iphone 7 và sony z5 năm 20241 tuần trướcBảng giá xe i10 lăn bánh gia bao nhiêu năm 20241 ngày trướcThể thức kỹ thuật trình bày văn bản năm 20245 ngày trướcCác tỉnh miền tây tỉnh nào lớn nhất năm 20241 tuần trướcQuảng cáoChúng tôiTrợ giúpBản quyền © 2021 Học Tốt Inc.
|