Scientific
Programming
Language
NGƠN NGỮ LẬP TRÌNH LẬP TRÌNH P TRÌNH
KHOA HỌCC
Nguyễn Mạnh Cường
Scientific
Programming
Language
BÀI 4
XỬ LÝ FILE, NHẬP/XUẤT DỮ LIỆU
(FILE INPUT/ OUTPUT)
2
Scientific
Programming
Language
BÀI 4. FILE INPUT/ OUTPUT
• File Open/ Close (mở/ đóng tệp)
• Write data to file (ghi dữ liệu vào tệp)
• Read data from file (đọc dữ liệu từ tệp)
• Directory (các thao tác trên thư mục)
• Binary files (các tệp nhị phân)
Bài 4: File input/output
3
Scientific
Programming
Language
BÀI 4
---------------
File Open/ Close
Mở một file
f = open(filename, [mode], mode],
[mode], encoding])
Open/
close
Write data
Read data
Directory
Binary file
filename : Có thể chứa đường dẫn
[mode]
: r, w, a, mặc định là r
[encoding]
: ‘utf-8’
f = open("test.txt", mode='r', encoding='utf8')
Đóng file
f .close()
Bài 4: File input/output
4
Scientific
Programming
Language
BÀI 4
--------------Open/
close
Write
data
Read data
Directory
Binary file
Write data to file
• Ghi dữ liệu vào file
o Mở file để ghi: [mode]= w hoặc a
o Ghi file:
f.write(Dữ_Liệu)
Dữ_Liệu: Cần có kiểu văn
bản
VD:
f.write("my
first file\n")
Bài 4: File input/output
5
Scientific
Programming
Language
BÀI 4
--------------Open/
close
Write
Write data to file
BÀI TẬP 4.1
• Nhập một mảng a gồm n phần tử nguyên
từ bàn phím. Ghi dữ liệu của a vào
tệp.
data
Read data
Directory
Binary file
• Nhập một ma trận b(nxm) gồm các phần
tử thực từ bàn phím. Ghi dữ liệu của
b vào tệp.
Bài 4: File input/output
6
Scientific
Programming
Language
BÀI 4
--------------Open/
Read data from file
• Đọc dữ liệu từ file
Write data
o Mở file để đọc: [mode]= r hoặc mặc
định
o Con trỏ tệp: trỏ tới vị trí đang đọc
Read
Kiểm tra vị trí con trỏ tệp:
close
f.tell()
data
Di chuyển con trỏ tệp:
f.seek(vị_trí)
Directory
o Phương thức read()
Binary file
Đọc n ký tự:
f.read(n)
Đọc tồn bộ phần cịn lại của tệp:
f.read()
Bài 4: File input/output
7
Scientific
Programming
Language
BÀI 4
--------------Open/
close
Write data
Read
data
Directory
Binary file
Read data from file
• Đọc dữ liệu từ file
o Phương thức readline()
Đọc 1 dòng (cả dấu xuống dịng):
f.readline()
o Phương thức readlines()
Đọc tồn bộ các dịng (từ vị trí con trỏ):
f.readlines()
Dữ liệu trả về một list, mỗi phần tử là 1 dòng
Bài 4: File input/output
8
Scientific
Programming
Language
BÀI 4
--------------Open/
close
Write data
Read
data
Directory
Binary file
Read data from file
BÀI TẬP 4.2
o Tạo một ma trận a(nxm) số thực và lưu
trữ trong một tệp như dưới đây.
o Đọc dữ liệu từ tệp lên các biến n, m ,
b(nxm)
3
1
3
2
5
3 2 5 4
2 5 3 6
3 5 4 7
Bài 4: File input/output
9
Scientific
Programming
Language
BÀI 4
--------------Open/
close
Write data
Read
data
Directory
Read data from file
BÀI TẬP 4.3
o Cho bộ dữ liệu theo đường link sau
(sinh viên tải bộ dữ liệu về máy tính).
o Đọc dữ liệu từ bộ dữ liệu lưu vào các
biến tương ứng
Binary file
Bài 4: File input/output
10
Scientific
Programming
Language
BÀI 4
---------------
Directory - Thao tác trên thư mục
• Các thao tác với thư mục
Open/
o import os
close
o Lấy thư mục hiện tại:
os.getcwd()
Write data
o Chuyển tới một thư mục: os.chdir(“Tên_Mới”)
Read data
o Hiển thị nội dung thư mục: os.listdir([“Tên”])
Directory
o Tạo thư mục:
Binary file
o Đổi tên thư mục/file:
os.mkdir([“Tên”])
o Xóa thư mục rỗng/file:
os.rename(“Tên”, “Tên_mới”)
os.rmdir()/ os.remove(“Tên”)
Bài 4: File input/output
11
Scientific
Programming
Language
BÀI 4
---------------
Directory - Thao tác trên thư mục
• Các thao tác với thư mục
Open/
o import shutil
close
o Xóa thư khơng rỗng:
shutil. rmtree(“Tên”)
Write data
o Copy một file:
shutil. copy(src, des)
Read data
o Copy một file:
shutil. copyfile(src, des)
Directory
Binary file
Bài 4: File input/output
12
Scientific
Programming
Language
BÀI 4
--------------Open/
close
Write data
Read data
Directory
Binary file
Directory - Thao tác trên thư mục
BÀI TẬP 4.4
o Tạo một thư mục trong ổ đĩa với tên bất kỳ
o Di chuyển file dữ liệu vào thư mục vừa tạo
o Hiển thị nội dung thư mục
o Đổi tên thư mục
o Xóa file
o Xóa thư mục
Bài 4: File input/output
13
Scientific
Programming
Language
BÀI 4
---------------
Binary files – các tệp nhị phân
• File encoding (mã hóa file)
Open/
close
Write data
Read data
Directory
• Binary file (file nhị phân)
• Đọc dữ liệu từ file nhị phân
• Ghi dữ liệu vào file nhị phân
Binary file
Bài 4: File input/output
14