Một chương trình máy tính thường cần giao tiếp với người dùng bên ngoài bằng cách lấy dữ liệu đầu vào (dữ liệu có thể là nhập từ bàn phím, từ 1 file) và hiển thị kết quả của dữ liệu ra màn hình cho người dùng. Hướng dẫn này sẽ giới thiệu cho bạn về cách nhập/xuất dữ liệu cơ bản của Python.
Nhập dữ liệu từ bàn phím
Cú pháp: input(<prompt>) Lệnh input()
tạm dừng thực thi chương trình để cho phép người dùng nhập liệu từ bàn phím. Khi người dùng nhấn phím Enter, tất cả các ký tự đã nhập sẽ được đọc và trả về dưới dạng một chuỗi.
-
Nhận dữ liệu từ người dùng và hiển thị (dữ liệu có kiểu
string
)age = input("Your age? ") #Giả sử nhập dữ liệu là `20` print("Your age", age) #Kết quả: Your age 20
-
Nhận dữ liệu vào và lưu dưới dạng danh sách số
numbers = list(map(int, input().split())) #Nhập 1 2 3 4 5 print (numbers) #Kết quả: [1, 2, 3, 4, 5]
-
Nhận nhiều dữ liệu đầu vào trên 1 dòng
x, y, z, n = (int(input()) for _ in range(4)) #Nhập từng biến số print (z) #In kết quả của biến z
Hàm print() trong Python
-
Hàm
print()
được dùng để xuất một chuỗi hay bất kỳ đối tượng nào, các đối tượng sẽ được chuyển thành chuỗi trước khi được hiển thị lên màn hình. -
In một chuỗi ra màn hình
print("Hello World") #Kêt quả: Hello World
-
In nhiều hơn một đối tượng:
print("Hello", "how are you?") #Kêt quả: Hello how are you?
-
In một bộ tuples:
x = ("apple", "banana", "cherry") print(x) #Kêt quả: ('apple', 'banana', 'cherry')
Tuple trong Python là một kiểu dữ liệu dùng để lưu trữ các đối tượng không thay đổi về sau (giống như hằng số).
-
In hai chuỗi và chỉ định dấu phân tách
print("Hello", "how are you?", sep="---") #Kêt quả: Hello---how are you?
-
Một số cách khác
# Hello A and B. print("Hello {} and {}.".format("A", "B")) # Hello A and B. b = "B" print(f'Hello {"A"} and {b}.') # This is a part of sentence. This is other part. print('This is a part of sentence.' 'This is other part.')
-
Nối chuỗi với biến: Để nối 1 chuỗi với 1 biến hay một biểu thức ta sử dụng dấu
,
age = 20 # Khai báo biến print("Your age", age) #Kêt quả: Your age 20
Escape Sequence: Ký tự đặt biệt trong chuỗi
- Escape Sequence là một là kí tự đặc biệt trong Python. Bắt đầu với một dấu
\
. Ví dụ để in ra chuỗi có chứa ký hiệu dấu nháy kép, ta sử dụng\"Nội dung\"
print("Website \"phannhatchanh.com\" ") # Website "phannhatchanh.com"
- Các ký tự đặc biệt khác:
\n
ngắt xuống dòng và bắt đầu dòng mới.\t
đẩy nội dung phía sau nó cách 1 tab.\a
chuông cảnh báo.\b
xóa bỏ khoảng trắng phía trước nó.\f
khoảng cách trong chuỗi.\nnn
Ký hiệu bát phân, trong đó n nằm trong phạm vi 0-7\xnn
Ký hiệu thập lục phân, trong đó n nằm trong phạm vi 0-9, a-f hoặc A-F
Xử lý file trong Python
Để biết thêm về cách thao tác với các file như: txt, json, csv, xlsx, xml bạn tham khảo thêm bài thao tác với file trong Python.
Mở File
-
Cú pháp: file object = open(file_name [, access_mode][, buffering])
-
Các mode (chế độ) mở một file
r
Mở file chỉ để đọcr+
Mở file để đọc và ghia
Mở file để ghi thêm vào cuối file, nếu không tìm thấy file sẽ tạo mới một file để ghi mới.a+
Mở file để đọc và ghi thêm vào cuối file, nếu không tìm thấy file sẽ tạo mới một file để đọc và ghi mới.w
Mở file để ghi. Nếu file đã tồn tại thì sẽ bị xóa hết nội dung và ghi mới, ngược lại sẽ tạo file mới.w+
Mở file để đọc và ghi. Nếu file đã tồn tại thì sẽ bị xóa hết nội dung và ghi mới, ngược lại sẽ tạo file mới.
-
Thuộc tính của File:
- file.closed Trả về True nếu file đã đóng, ngược lại là False
- file.mode Trả về chế độ truy cập của file đang được mở
- file.name Trả về tên của file
- Ví dụ:
file = open("vidu.txt", "wb") #Mở file vidu.txt print ("Tên của file là: ", file.name) #Tên của file là: vidu.txt print ("File có đóng không?:", file.closed) #File có đóng hoặc không?: False print ("Chế độ mở file:",file.mode) #Chế độ mở file: wb
Đóng File
- Cú pháp: fileObject.close()
file = open("vidu.txt", "r") #Mở file file.close() #Đóng file
Ghi File
- Cú pháp: fileObject.write(string)
file = open("vidu.txt", "wb") #Mở file vidu.txt file.write("Python là ngôn ngữ lập trình") #Nội dung ghi file.close() #Đóng file
Đổi tên File
- Cú pháp:
os.rename("<tên file hiện tại>", "<tên file mới>")
# os là một module tích hợp sẵn với Python. # Module này cho phép chúng ta thao tác với tệp và thư mục. import os # Đổi tên vidu.txt thành baitap.txt os.rename("vidu.txt", "baitap.txt")
Xóa File
- Cú pháp:
os.remove("<tên file>")
# os là một module tích hợp sẵn với Python. # Module này cho phép chúng ta thao tác với tệp và thư mục. import os os.remove("vidu.txt") #Xóa file vidu.txt
Ví trí File
tell()
cho biết vị trí con trỏ hiện tại bên trong file.seek(offset[, from])
thay đổi vị trí con trỏ hiện tại bên trong file.- Tham số
offset
là 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ếufrom
là 0 thì sử dụng phần đầu file như là vị trí tham chiếu. Nếufrom
là 2 thì sử dụng phần cuối file như là vị trí tham chiếu.
- Tham số
# Mở file
file = open("vidu.txt", "r+")
str = file.read(10);
print ("Chuỗi đã đọc là:", str) #Chuỗi đã đọc là: Python là
# Kiểm tra con trỏ hiện tại
vitri = file.tell();
print ("Con trỏ hiện tại:", vitri) #Con trỏ hiện tại: 10
# Đặt lại vị trí con trỏ tại vị trí đầu file
vitri = file.seek(0, 0);
str = file.read(10);
print ("Chuỗi đã đọc là:", str) #Chuỗi đã đọc là: Python là
# Đóng file
file.close()
Tài liệu tham khảo
- Tài liệu từ trang chủ Input and Output
- Python 3 - Files I/O