VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

Python Cơ Bản

Giới thiệu về Python Cài đặt Python Hướng dẫn lập trình Python với Visual Studio Code Hướng dẫn lập trình Python với PyCharm Community Edition Hướng dẫn lập trình Python với Eclipse Chương trình Hello World Cú pháp Python cơ bản Biến và kiểu dữ liệu trong Python Toán tử trong Python Tham số dòng lệnh trong Python Comment trong Python Từ khóa trong Python Đọc file CSV

Câu Lệnh Điều Khiển

Lệnh If-else Vòng lặp While Vòng lặp For Lệnh Break Lệnh Continue Vòng lặp lồng nhau Lệnh pass trong Python

Các Kiểu Dữ Liệu Chuẩn

Number String List Set Tuple Dictionary Phân biệt List, Tuple, Set, Dict

Hàm, Module và File I/O

Date & Time Hàm Module Vào ra dữ liệu File I/O Xử lý ngoại lệ Regex trong Python Module Collection Module Math Module OS Module Random Module Statistics Module SYS Giới thiệu Python IDEs

Python OPPs

Lập trình hướng đối tượng Lớp và đối tượng trong Python Constructor trong Python Kế thừa trong Python Ghi đè phương thức – Method Overriding Trừu tượng dữ liệu trong Python

Python MySQL

Cài đặt môi trường Python MySQL Kết nối Python với MySQL Tạo new database Tạo Table insert Table select Table update Table delete Table join Table Quản lý transaction
Python Tkinter(GUI) Python Web Blocker Python Numpy Python Django Python Flask Bài tập Python có lời giải
1 / 3
❮ ❯

File I/O trong Python


Mô-đun trong Python
Xử lý ngoại lệ trong Python

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 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ụ:


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

Code trên sẽ cho kết quả sau tùy thuộc vào input bạn đã nhập:


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

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ụ:


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

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


Nhap dau vao cua ban: Hello Python
Dau vao da nhan la :  Hello Python
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:


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
 

Ví dụ 2:


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


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

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à:


doi_tuong_file = open(ten_file [, access_mode][, buffer])

Ở đây,

  • ten_file là tên File bạn muốn truy cập.

  • access_mode 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.

  • buffer 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).

Đóng một File trong Python

Khi bạn đã thực hiện xong các hoạt động trên File thì cuối cùng bạn cần đóng File đó. Python tự động đóng một File khi đối tượng tham chiếu của một File đã được tái gán cho một file khác. Tuy nhiên, sử dụng phương thức close() để đóng một file là một sự thực hành tốt cho bạn. Phương thức close() có cú pháp như sau:


fileObject.close();

Đọc một File trong Python

Để đọc một File, bạn sử dụng phương thức read() trong Python. Cú pháp là:


doi_tuong_file.read(giatri);  

Ở đây, value là số byte để được đọc từ file đã mở. Phương thức này bắt đầu đọc từ phần đầu file và nếu bạn không cung cấp tham số value thì phương thức này cố gắng đọc nhiều dữ liệu nhất có thể, có thể tới cuối File.

Ghi tới một File trong Python

Phương thức write() được sử dụng để ghi bất kỳ chuỗi nào tới một File đã mở. Bạn chú ý là phương thức write này không thêm một ký tự newline (dòng mới) ('\n') vào cuối chuỗi. Cú pháp của write() là:


doi_tuong_file.write(string);

Dưới đây là chương trình ví dụ để đọc và ghi dữ liệu từ một File trong Python:


obj=open("abcd.txt","w")
obj.write("Python xin chao cac ban")
obj.close()
obj1=open("abcd.txt","r")
s=obj1.read()
print s
obj1.close()
obj2=open("abcd.txt","r")
s1=obj2.read(20)
print s1
obj2.close()

Kết quả:



Python xin chao cac ban
Chao mung ban den voi the gioi Python


Các thuộc tính của File trong Python

Đối tượng File có các thuộc tính sau:

Thuộc tínhMiêu tả
file.closedTrả về true nếu file đã được đóng, nếu không là false
file.modeTrả về chế độ truy cập nào mà file đã mở với
file.nameTrả về tên file
file.softspaceTrả 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:


 # Mo mot file
fo = open("foo.txt", "wb")
fo.write( "Python la mot ngon ngu lap trinh tuyet voi.\nMinh cung nghi nhu the!!\n");# Dong file da mo
fo.close()

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


 # Mo mot file
fo = open("foo.txt", "wb")
print "Ten cua file la: ", fo.name
print "File da duoc dong hay chua : ", fo.closed
print "Che do mode la : ", fo.mode
print "Softspace la : ", fo.softspace

Kết quả:

Output:

Ten cua file la:  foo.txt
File da duoc dong hay chua :  False
Che do mode la :  wb
Softspace la :  0

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ả
rMở file trong chế độ đọc, đây là chế độ mặc định. Con trỏ tại phần bắt đầu của File
rbMở 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
wMở 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
wbMở 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
aMở 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
abMở 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


os.rename(ten_file_hien_tai, ten_file_moi)

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


 
import os# Thay ten tu test1.txt thanh test2.txt
os.rename( "test1.txt", "test2.txt" )

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


os.remove(ten_file)

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


 
import os# Xoa test2.txt
os.remove("text2.txt")


Vị trí File trong Python

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 đó.

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.

Ví dụ:

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


 # Mo mot file
fo = open("foo.txt", "r+")
str = fo.read(10);
print "Chuoi da doc la : ", str# Kiem tra con tro hien tai
position = fo.tell();
print "Con tro file hien tai : ", position# Dat lai vi tri con tro tai vi tri ban dau mot lan nua
position = fo.seek(0, 0);
str = fo.read(10);
print "Chuoi da doc la : ", str
# Dong file da mo
fo.close()

Kết quả:


Chuoi da doc la :  Python is
Con tro file hien tai :  10
Chuoi da doc la :  Python la

Thư mục trong Python

Tất cả file được chứa trong các thư mục đa dạng và Python cũng cung cấp rất nhiều phương thức để xử lý các hoạt động đa dạng liên quan tới thư mục. 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.


Phương thức mkdir() trong Python

Bạn có thể sử dụng phương thức mkdir() của os Module để tạo các thư mục trong thư mục hiện tại. Bạn cần cung cấp một tham số là tên thư mục cho phương thức này.


Cú pháp


os.mkdir("thu_muc_moi")

Ví dụ sau tạo một thư mục test trong thư mục hiện tại.


 
import os# Tao mot thu muc la "test"
os.mkdir("test")

Phương thức chdir() trong Python

Bạn có thể sử dụng phương thức chdir() để thay đổi thư mục hiện tại. Phương thức chdir() nhận một tham số là tên của thư mục bạn muốn tới từ thư mục hiện tại.

Cú pháp


os.chdir("thu_muc_moi")

Ví dụ sau tới thư mục /home/newdir.


 
import os# Thay doi mot thu muc toi "/home/newdir"
os.chdir("/home/newdir")

Phương thức getcwd() trong Python

Phương thức getcwd() hiển thị thư mục đang làm việc hiện tại.

Cú pháp


os.getcwd()

Ví dụ sau hiển thị thư mục đang làm việc hiện tại.


 
import os# Lenh nay se cung cap vi tri thu muc hien tai
os.getcwd()

Phương thức rmdir() trong Python

Phương thức rmdir() xóa thư mục mà có tên được truyền như là một tham cố cho phương thức này.

Trước khi xóa thư mục, tất cả nội dung trong nó nên được xóa.

Cú pháp


os.rmdir('ten_thu_muc')

Ví dụ sau sẽ xóa thư mục /tmp/test. Bạn phải cung cấp tên đầy đủ của thư mục, nếu không phương thức này sẽ không tìm thấy thư mục đó và sẽ không có hoạt động xóa diễn ra.


 
import os# Xoa thu muc "/tmp/test" .
os.rmdir( "/tmp/test"  )

Các phương thức xử lý File và thư mục trong Python

Đối tượng File và OS cung cấp rất nhiều phương thức tiện ích để xử lý và thao tác với File và thư mục trên hệ điều hành Windows và Unix. Bạn truy cập đường link sau để tìm hiểu các phương thức này.

  • Đối tượng File: cung cấp các phương thức để thao tác File.

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


Mô-đun trong Python
Xử lý ngoại lệ trong Python

Recent Updates

Sắp Tết 2024 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2024?Vẽ tam giác Pascal trong PythonVẽ tam giác Floyd trong PythonVẽ tam giác đều trong PythonBài tập vòng lặp trong PythonBài tập quản lý sinh viên trong PythonBài tập Python có lời giảiVẽ tam giác vuông cân trong PythonCheck số nguyên tố trong PythonCách cài đặt Python (Thiết lập môi trường)Hướng dẫn lập trình Python với EclipseHướng dẫn lập trình Python với PyCharm Community EditionHướng dẫn lập trình Python với Visual Studio Code

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml