Hướng dẫn i/o python - tôi / o con trăn



Khi đã học qua C hoặc C++ khái niệm File I/O đã khá quen thuộc, phải không? Python cũng hỗ trợ việc đọc và ghi dữ liệu tới các file giống như các ngôn ngữ lập trình khác.


Nội dung chính

  • In kết quả ra màn hình trong Python
  • Nhập data từ bàn phím trong Python
    • Hàm input() trong Python
    • Hàm raw_input() trong Python
  • Làm việc với File trong Python
  • Mở file trong Python
  • Đóng một File trong Python
  • Đọc một File trong Python
  • Ghi tới một File trong Python
  • Các thuộc tính của File trong Python
  • Các chế độ truy cập (mode) của File trong Python
  • Thay tên file trong Python
  • Xóa file trong Python
  • Vị trí File trong Python
  • Thư mục trong Python
  • Phương thức mkdir() trong Python
  • Phương thức chdir() trong Python
  • Phương thức getcwd() trong Python
  • Phương thức rmdir() trong Python
  • Các phương thức xử lý File và thư mục trong Python

In kết quả ra màn hình trong Python

Lệnh print được sử dụng để in kết quả ra màn hình. Hàm này chuyển đổi biểu thức mà bạn đã truyền cho nó thành dạng chuỗi và ghi kết quả trên đầu ra chuẩn Standard Output. Ví dụ lệnh print:

 print "Hoc Python la kha don gian,", "ban co thay vay khong?"

Kết quả:

Hoc Python la kha don gian, ban co thay vay khong?



Nhập data từ bàn phím trong Python

Python cung cấp hai hàm đã được xây dựng sẵn để nhận input từ người dùng. Hai hàm đó là:

  • Hàm input()

  • Hàm raw_input()


Hàm input() trong Python

Hàm raw_input() trong Python

 str = input("Nhap dau vao cua ban: ");
print "Dau vao da nhan la : ", str

Làm việc với File trong Python

Nhap dau vao cua ban: [x*5 for x in range(2,10,2)]
Dau vao da nhan la :  [10, 20, 30, 40]


Hàm raw_input() trong Python

Làm việc với File trong Python

 str = raw_input("Nhap dau vao cua ban: ");
print "Dau vao da nhan la : ", str

Mở file trong Python

Nhap dau vao cua ban: Hello Python
Dau vao da nhan la :  Hello Python

Đóng một File trong Python: Hàm raw_input() trả về một chuỗi. Vì thế trong trường hợp một biểu thức cần được ước lượng, thì nó phải ép kiểu sang kiểu dữ liệu sau của nó. Bạn theo dõi một số ví dụ dưới đây.

Đọc một File trong Python

prn=int(raw_input("Trang VietTuts"))
r=int(raw_input("Thu Tu"))
t=int(raw_input("Vi Tri"))
si=(prn*r*t)/100
print "VietTuts Chao Ban ",si  

Kết quả:

Trang VietTuts1000
Thu Tu10
Vi Tri2
VietTuts Chao Ban  200
 

Nhập data từ bàn phím trong Python

name=raw_input("Nhap ten ban ")
math=float(raw_input("Nhap diem mon Toan"))
physics=float(raw_input("Nhap diem mon Vat Ly"))
chemistry=float(raw_input("Nhap diem mon Hoa Hoc"))
rollno=int(raw_input("Nhap mssv"))
print "Welcome ",name
print "MSSV cua ban la ",rollno
print "Diem mon Toan la ",math
print "Diem mon Vat Ly la ",physics
print "Diem mon Hoa Hoc la ",chemistry
print "Diem trung binh la ",(math+physics+chemistry)/3 

Kết quả:

Nhap ten ban Hoang
Nhap diem mon Toan7.68
Nhap diem mon Vat Ly7.14
Nhap diem mon Hoa Hoc8.84
Nhap mssv0987645672
Welcome  Hoang
MSSV cua ban la  987645672
Diem mon Toan la  7.68
Diem mon Vat Ly la  7.14
Diem mon Hoa Hoc la  8.84
Diem trung binh la  7.8866666667


Nhập data từ bàn phím trong Python



Python cung cấp hai hàm đã được xây dựng sẵn để nhận input từ người dùng. Hai hàm đó là:

Hàm input()

Hoc Python la kha don gian, ban co thay vay khong?
0

Hàm raw_input()

  • Hàm này được sử dụng để nhận input từ người dùng. Hàm này giống hàm raw_input(), nhưng với hàm input() này thì bất cứ biểu thức nào được nhập từ người dùng thì nó ước lượng và sau đó trả về kết quả. Ví dụ: là tên File bạn muốn truy cập.

  • Code trên sẽ cho kết quả sau tùy thuộc vào input bạn đã nhập: xác định chế độ của File đã được mở. Có nhiều mode sẽ được trình bày trong phần dưới. Bạn nên xác định mode này phụ thuộc vào các hoạt động mà bạn muốn thực hiện trên File đó. Chế độ truy cập mặc định là read.

  • Hàm raw_input() được sử dụng để nhận đầu vào từ người dùng. Nó nhận đầu vào từ Standard Input dưới dạng một chuỗi và đọc dữ liệu từ từng dòng một. Ví dụ: Nếu buffer được thiết lập là 0, nghĩa là sẽ không có trình đệm nào diễn ra. Nếu xác định là 1, thì trình đệm dòng được thực hiện trong khi truy cập một File. Nếu là số nguyên lớn hơn 1, thì hoạt động đệm được thực hiện với kích cỡ bộ đệm đã cho. Nếu là số âm, thì kích cỡ bộ đệm sẽ là mặc định (hành vi mặc định).

Kết quả khi mình nhập "Hello Python!" là:

Ghi chú: Hàm raw_input() trả về một chuỗi. Vì thế trong trường hợp một biểu thức cần được ước lượng, thì nó phải ép kiểu sang kiểu dữ liệu sau của nó. Bạn theo dõi một số ví dụ dưới đây.


Ví dụ 1:

Ví dụ 2:

Hoc Python la kha don gian, ban co thay vay khong?
1

Python cung cấp nhiều cách tiện lợi để bạn làm việc với file. Ở trên, bạn đã đọc dữ liệu từ Standard Input và ghi dữ liệu tới Standard Output. Bây giờ chúng ta tìm hiểu cách sử dụng các file dữ liệu thực sự. Một file là một nơi lưu trữ ngoại vi trên hard disk, tại đó dữ liệu có thể được lưu trữ và thu nhận. Dưới đây là các hoạt động trên File:

Mở file trong Python

Trước khi làm việc với bất cứ File nào, bạn phải mở File đó. Để mở một File, Python cung cấp hàm open(). Nó trả về một đối tượng File mà được sử dụng với các hàm khác. Với File đã mở, bạn có thể thực hiện các hoạt động đọc, ghi, … trên File đó. Cú pháp của hàm open() là:

Hoc Python la kha don gian, ban co thay vay khong?
2

Ở đây,

Hoc Python la kha don gian, ban co thay vay khong?
3

Kết quả:

Nhập data từ bàn phím trong Python


Python cung cấp hai hàm đã được xây dựng sẵn để nhận input từ người dùng. Hai hàm đó là:

Hàm input()

Hàm raw_input()Hàm này được sử dụng để nhận input từ người dùng. Hàm này giống hàm raw_input(), nhưng với hàm input() này thì bất cứ biểu thức nào được nhập từ người dùng thì nó ước lượng và sau đó trả về kết quả. Ví dụ:
Code trên sẽ cho kết quả sau tùy thuộc vào input bạn đã nhập:Hàm raw_input() được sử dụng để nhận đầu vào từ người dùng. Nó nhận đầu vào từ Standard Input dưới dạng một chuỗi và đọc dữ liệu từ từng dòng một. Ví dụ:
Kết quả khi mình nhập "Hello Python!" là:Ghi chú: Hàm raw_input() trả về một chuỗi. Vì thế trong trường hợp một biểu thức cần được ước lượng, thì nó phải ép kiểu sang kiểu dữ liệu sau của nó. Bạn theo dõi một số ví dụ dưới đây.
Ví dụ 1:Ví dụ 2:
Python cung cấp nhiều cách tiện lợi để bạn làm việc với file. Ở trên, bạn đã đọc dữ liệu từ Standard Input và ghi dữ liệu tới Standard Output. Bây giờ chúng ta tìm hiểu cách sử dụng các file dữ liệu thực sự. Một file là một nơi lưu trữ ngoại vi trên hard disk, tại đó dữ liệu có thể được lưu trữ và thu nhận. Dưới đây là các hoạt động trên File:Trả về false nếu space được yêu cầu tường minh với print, nếu không là true

Ví dụ:

Chúng ta tạo foo.txt có nội dung sau:

Hoc Python la kha don gian, ban co thay vay khong?
5

Giờ chúng ta kiểm tra các thuộc tính của nó:

Hoc Python la kha don gian, ban co thay vay khong?
6

Kết quả:

Output:

Hoc Python la kha don gian, ban co thay vay khong?
7

Các chế độ truy cập (mode) của File trong Python

File có thể được mở với các chế độ truy cập khác nhau. File có thể được mở trong Text Mode hoặc Binary Mode. Bảng dưới liệt kê và giới thiệu các chế độ này:

ModeMiêu tả
r Mở file trong chế độ đọc, đây là chế độ mặc định. Con trỏ tại phần bắt đầu của File
rb Mở file trong chế độ đọc cho định dạng nhị phân, đây là chế độ mặc định. Con trỏ tại phần bắt đầu của File
r+ Mở file để đọc và ghi. Con trỏ tại phần bắt đầu của File
rb+ Mở file để đọc và ghi trong định dạng nhị phân. Con trỏ tại phần bắt đầu của File
w Mở File trong chế độ ghi. Nếu file đã tồn tại, thì ghi đè nội dung của file đó, nếu không thì tạo một file mới
wb Mở File trong chế độ ghi trong định dạng nhị phân. Nếu file đã tồn tại, thì ghi đè nội dung của file đó, nếu không thì tạo một file mới
w+ Mở file để đọc và ghi. Nếu file tồn tại thì ghi đè nội dung của nó, nếu file không tồn tại thì tạo một file mới để đọc và ghi
wb+ Mở file để đọc và ghi trong định dạng nhị phân. Nếu file tồn tại thì ghi đè nội dung của nó, nếu file không tồn tại thì tạo một file mới để đọc và ghi
a Mở file trong chế độ append. Con trỏ là ở cuối file nếu file này đã tồn tại. Nếu file không tồn tại, thì tạo một file mới để ghi
ab Mở file trong chế độ append trong chế độ nhị phân. Con trỏ là ở cuối file nếu file này đã tồn tại. Nếu file không tồn tại, thì tạo một file mới để ghi
a+ Mở file trong để đọc và append. Con trỏ file tại cuối nếu file đã tồn tại. Nếu không tồn tại thì tạo một file mới để đọc và ghi
ab+ Mở file trong để đọc và append trong định dạng nhị phân. Con trỏ file tại cuối nếu file đã tồn tại. Nếu không tồn tại thì tạo một file mới để đọc và ghi


Thay tên file trong Python

Phương thức rename() trong os Module được sử dụng để thay tên file. Phương thức này nhận hai tham số là tên file cũ và tên file mới.

Cú pháp

Hoc Python la kha don gian, ban co thay vay khong?
8

Ví dụ sau thay tên test1.txt thành test2.txt:

Hoc Python la kha don gian, ban co thay vay khong?
9

Xóa file trong Python

Bạn có thể sử dụng phương thức remove() của os Module để xóa các file với tham số là tên file bạn cần xóa.

Cú pháp

Ví dụ sau thay tên test1.txt thành test2.txt:

 str = input("Nhap dau vao cua ban: ");
print "Dau vao da nhan la : ", str
0



Xóa file trong Python

Bạn có thể sử dụng phương thức remove() của os Module để xóa các file với tham số là tên file bạn cần xóa. tell() nói cho bạn biết vị trí hiện tại bên trong file. Nói cách khác, việc đọc và ghi tiếp theo sẽ diễn ra trên các byte đó.

Ví dụ sau sẽ xóa test2.txt:seek(offset[, from]) thay đổi vị trí hiện tại bên trong file. Tham số offset chỉ số byte để được di chuyển. Tham số from xác định vị trí tham chiếu mà từ đó byte được di chuyển.

Vị trí File trong Python

Ví dụ:

Phương thức tell() nói cho bạn biết vị trí hiện tại bên trong file. Nói cách khác, việc đọc và ghi tiếp theo sẽ diễn ra trên các byte đó.

 str = input("Nhap dau vao cua ban: ");
print "Dau vao da nhan la : ", str
1

Kết quả:

 str = input("Nhap dau vao cua ban: ");
print "Dau vao da nhan la : ", str
2


Phương thức seek(offset[, from]) thay đổi vị trí hiện tại bên trong file. Tham số offset chỉ số byte để được di chuyển. Tham số from xác định vị trí tham chiếu mà từ đó byte được di chuyển.

Nếu from được thiết lập là 0 nghĩa là sử dụng phần đầu file như là vị trí tham chiếu và 1 nghĩa là sử dụng vị trí hiện tại như là vị trí tham chiếu và nếu là 2 thì sử dụng phần cuối file như là vị trí tham chiếu.os Module có một số phương thức giúp bạn tạo, xóa, và thay đổi các thư mục.


Sử dụng foo.txt đã tạo ở trên để minh họa các hàm tell và seek:

Thư mục trong Python


Cú pháp

Ví dụ sau thay tên test1.txt thành test2.txt:

 str = input("Nhap dau vao cua ban: ");
print "Dau vao da nhan la : ", str
3


Xóa file trong Python

Bạn có thể sử dụng phương thức remove() của os Module để xóa các file với tham số là tên file bạn cần xóa.

Cú pháp

Ví dụ sau thay tên test1.txt thành test2.txt:

 str = input("Nhap dau vao cua ban: ");
print "Dau vao da nhan la : ", str
4


Xóa file trong Python

Bạn có thể sử dụng phương thức remove() của os Module để xóa các file với tham số là tên file bạn cần xóa.

Cú pháp

Ví dụ sau thay tên test1.txt thành test2.txt:

 str = input("Nhap dau vao cua ban: ");
print "Dau vao da nhan la : ", str
5

Xóa file trong Python

Bạn có thể sử dụng phương thức remove() của os Module để xóa các file với tham số là tên file bạn cần xóa.

Ví dụ sau sẽ xóa test2.txt:

Cú pháp

Ví dụ sau thay tên test1.txt thành test2.txt:

 str = input("Nhap dau vao cua ban: ");
print "Dau vao da nhan la : ", str
6

Xóa file trong Python

Bạn có thể sử dụng phương thức remove() của os Module để xóa các file với tham số là tên file bạn cần xóa.

  • Ví dụ sau sẽ xóa test2.txt:

  • os Module: cung cấp rất nhiều phương thức để thao tác File và thư mục.