© 2020 Bài Kiểm Tra.com. All Rights Reserved.

Hướng dẫn lập trình Python: Các thao tác với file trong Python

Thứ bảy - 07/10/2023 08:47
Hướng dẫn lập trình Python: Các thao tác với file trong Python
Python cung cấp cho chúng ta các hàm để mở, đọc, ghi file như sau:
1. Mở file: Để mở file trong Python chúng ta sử dụng hàm open với cú pháp như sau:

open(filePath, mode, buffer)

Trong đó:
- filePath là đường dẫn đến địa chỉ của file.
- mode là thông số thiết lập chế độ chúng ta mở file được cấp những quyền gì? Mặc địn mode sẽ bằng r (xem các mode ở dưới).
- buffer là thông số đệm cho file mặc định thì nó sẽ là 0.

Các chế độ mode.
Mode Chú thích
r Chế độ chỉ được phép đọc.
rb Chế độ chỉ được phép đọc nhưng cho định dạn nhị phân.
r+ Chế độ này cho phép đọc và ghi file, con trỏ nó sẽ nằm ở đầu file.
rb+ Chế độ này cho phép đọc và ghi file ở dạng nhị phân, con trỏ sẽ nằm ở đầu file.
w Chế độ ghi file, nếu như file không tồn tại thì nó sẽ tạo mới file và ghi nội dung, còn nếu như file đã tồn tại nó sẽ ghi đè nội dung lên file cũ.
wb Tương tự chế độ w nhưng đối với nhị phân.
w+ Mở file trong chế độ đọc và ghi. còn lại như w.
wb+ Giống chế độ w+ nhưng đối với nhị phân
a Mở file trong chế độ ghi tiếp. Nếu file đã tồn tại rồi thì nó sẽ ghi tiếp nội dung, và nếu như file chưa tồn tại thì nó sẽ tạo một file mới và ghi nội dung vào đó.
ab Tương tự a nhưng đối với nhị phân.
a+ Mở file trong chế độ đọc và ghi tiếp nội dung, còn lại cơ chế giống chế độ a.
ab+ Tương tự chế độ a+ nhưng đối với nhị phân.

VD: Đọc file readme.md có cùng cấp với file index.py

|-- readme.md
|-- index.py

# index.py
open('readme.md')
Lúc này hàm open sẽ trả về một object chứa các các phương thức để tác động đến file.

2. Đọc file: Sau khi đã mở được file ra rồi, để đọc được file thì chúng ta sử dụng phương thức read với cú pháp:

fileObject.read(length);

Trong đó:
- fileObject là đối tượng mà chúng ta thu được khi sử dụng hàm open().
- length là dung lượng của dữ liệu mà chúng ta muốn đọc, nếu để trống tham số này thì nó sẽ đọc hết file hoặc nếu file lớn quá thì nó sẽ đọc đến khi giới hạn của bộ nhớ cho phép.

VD: Đọc và xuất ra dữ liệu đọc được trong file readme ở trên.

# mo file
file = open('readme.md')
# doc file
data = file.read();
# dong file
file.close()
# in du lieu doc duoc
print(data)

3. Ghi file: Để ghi được file thì bạn phải chắc chắn là đang mở file ở các chế độ cho phép ghi. Và sử dụng phương thức write với cú pháp sau:

fileObject.write(data)

Trong đó:
- fileObject là đối tượng mà chúng ta thu được khi sử dụng hàm open().
- data là dữ liệu mà chúng ta muốn ghi vào trong file.

VD: Ghi dữ liệu vào file readme.md

# mo file o che do ghi
file = open('readme.md','w')
# ghi file
file.write('Vu Thanh Tai - toidicode.com')
# dong file
file.close()

* Các thuộc tính trong file: Nếu như bạn cần biết thêm các thông số của file hiện tại thì bạn có thể tham khảo thêm các thuộc tính trong object file mà Python đã cung cấp sẵn cho chúng ta. Các thuộc tính như sau:
Trong các trường hợp dưới đây: giả sử file là kết quả thu được từ hàm open().
Thuộc tính Chú thích
file.name Trả về tên của file đang được mở.
file.mode  Trả về chế độ mode của file đang được mở.
file.closed   Trả về true nếu file đã được đóng, và false nếu file chưa đóng.

VD: In ra thông số của file readme.md ở trên.

file = open('readme.md','w')
print( file.name )
# readme
print( file.mode )
# w
print( file.closed )
# False
file.close()

4. Đóng file: Để đóng một file đang được mở, thì chúng ta sử dụng phương thức close() với cú pháp như sau:

fileObject.close()

Trong đó, fileObject là đối tượng mà chúng ta thu được khi sử dụng hàm open()
Để đảm bảo quy chế đóng mở và giải phóng bộ nhớ cho chương trình thì phải luôn nhớ đóng file khi kết thúc phiên làm việc.

5. Input: Trong Python có cung cấp cho chúng ta hàm input để nhận dữ liệu từ người dùng nhập vào trong commandline. Sử dụng với cú pháp như sau:

input(something)

Trong đó, something là nội dung mà bạn muốn hiển thị trước khi người dùng nhập dữ liệu. Và giá trị mà hàm này trả về chính là giá trị mà người dùng nhập vào.

VD: Hỏi tuổi người dùng và in ra tuổi mà người dùng nhập vào.

print("Hello guy!")
age = input("How old are you? ")
print("age: " + age)

  Ý kiến bạn đọc

Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây