Khám phá Python: Nền tảng cơ bản cho người mới
✏️

Khám phá Python: Nền tảng cơ bản cho người mới

📝
Mục Lục
1. Câu lệnh print()
2. Python Syntax
3. Chú thích trong Python
4. Biến trong Python
5. Kiểu dữ liệu
6. Các toán tử trong Python
7. Python Dates
8. Mở tệp trong Python

1. Câu lệnh print()

Khái niệm

  • Câu lệnh print() được sử dụng để hiển thị thông tin ra màn hình.
  • Nó cho phép xem kết quả hiển thị kết quả của các phép tính, giá trị của biến hoặc thông tin nào bạn muốn in ra.

Cú pháp

print(object(s), sep=separator, end=end, file=file, flush=flush)

Trong đó:

  • object(s) : Bất kỳ đối tượng nào, bạn có thể đưa vào bao nhiêu tùy thích và Các đối tượng này sẽ được chuyển thành string trước khi in ra.
  • sep='separator' : Tùy chọn. Xác định cách phân tách các đối tượng, nếu có nhiều hơn một đối tượng. Nếu không để gì, để mặc định nó sẽ là “ “
  • end='end' : Tùy chọn. Xác định những gì sẽ in ra ở cuối dòng. Mặc đình sẽ là ký tự “\n” (Ký tự xuống dòng)
  • file=file : Tùy chọn. Một đối tượng có phương thức ghi (write method). Mặc định là sys.stdout (đầu ra tiêu chuẩn, thường là màn hình console)
  • flush=flush : Tùy chọn. Một giá trị Boolean, cụ thể nếu đầu ra là flushed (Làm sạch) - True hoặc buffered (Được đệm) - False. Mặc định là False

Ví dụ :

print("apple", "banana", "cherry", sep=", ")
Kết quả: apple, banana, cherry
print("Dòng 1", end=" ") print("Dòng 2")
Kết quả: Dòng 1 Dòng 2

2. Python Syntax

Thụt lề trong Python: Nhìn thì tưởng thừa, ai dè lại quan trọng!

Mấy cái khoảng trắng đầu dòng code, được gọi là "thụt lề". Ở các ngôn ngữ khác, người ta thụt lề cho dễ đọc, nhưng Python thì khác, nó dùng thụt lề để biết đâu là một "khối code". Và các câu lệnh không kết thúc bằng dấu chấm phẩy.

Ví dụ :

if 5 > 2: print("Năm lớn hơn hai!")
Python sẽ báo lỗi nếu mà bạn bỏ “Thụt lề”
if 5 > 2: print("Năm lớn hơn hai!") # Lỗi !!
 
💡
Số lượng khoảng trắng tùy bạn, nhưng thường người ta dùng 4. Mà nhớ là, ít nhất phải có 1 khoảng trắng.

3. Chú thích trong Python

  • Chú thích được sử dụng để giải thích mã Python.
  • Chú thích có thể được sử dụng để làm cho mã dễ đọc hơn.
Python thực ra không có kiểu cú pháp riêng cho chú thích nhiều dòng. Nhưng đừng lo, vẫn có cách để viết chú thích dài thượt mà không lo bị rối:
Sử dụng dấu # để chú thích trên một dòng
#This is a comment print("Hello")
Một cách khác, tuy không hẳn là đúng ý nghĩa chú thích lắm, nhưng vẫn dùng được, đó là sử dụng chuỗi nhiều dòng (triple quotes """).
Python sẽ bỏ qua những chuỗi ký tự không được gán cho biến, nên bạn có thể đặt chuỗi nhiều dòng vào code, và viết chú thích của mình bên trong
""" Đây là một dòng chú thích được viết trên nhiều dòng khác nhau """ print("Hello")

4. Biến trong Python

  • Biến là các vị trí lưu trữ giá trị dữ liệu.
  • Trong Python các bạn không cần phải khai báo biến cũng như chỉ rõ kiểu dữ liệu của biến đó, biến sẽ được tạo và xác định kiểu tự động (dynamic typing) khi bạn gán giá trị cho nó.
  • Để biết kiểu dữ liệu của biến các bạn có thể sử dụng hàm type().

Ví dụ

x = 5 y = "Hello, World!"

Đặt tên biến: Đặt sao cho dễ nhớ, dễ hiểu

Biến thì có thể đặt tên ngắn gọn như x, y, hoặc dài dòng hơn để dễ hiểu như tuoi, tenxe, tong_the_tich. Quan trọng là đặt tên sao cho mình đọc vào là biết biến đó dùng để làm gì.
Nhưng mà, đặt tên biến trong Python cũng có mấy quy tắc nho nhỏ:
  • Bắt đầu bằng chữ cái hoặc dấu gạch dưới: Tên biến phải bắt đầu bằng một chữ cái (a-z, A-Z) hoặc dấu gạch dưới (_).
  • Không bắt đầu bằng số: Tên biến không được bắt đầu bằng số (0-9).
  • Chỉ chứa chữ cái, số và dấu gạch dưới: Tên biến chỉ được chứa các ký tự chữ và số (A-z, 0-9) và dấu gạch dưới (_).
  • Phân biệt chữ hoa chữ thường: Python phân biệt chữ hoa và chữ thường, nên tuoi, TuoiTUOI là ba biến khác nhau.
  • Không trùng với từ khóa Python: Tên biến không được trùng với bất kỳ từ khóa nào của Python (ví dụ: if, for, while,...).

Ví dụ về tên hợp lệ

myvar = "John" my_var = "John" _my_var = "John" myVar = "John" MYVAR = "John" myvar2 = "John"

Ví dụ về tên không hợp lệ

2myvar = "John" my-var = "John" my var = "John"
 

Gán một phát nhiều giá trị cho nhiều biến: Tiết kiệm thời gian!

Python có một kiểu gán giá trị khá hay, đó là gán nhiều giá trị cho nhiều biến cùng một lúc, chỉ trong một dòng code thôi.
Thay vì bạn viết :
x = "Orange" y = "Banana" z = "Cherry"
Thì bạn có thể viết như sau :
x, y, z = "Orange", "Banana", "Cherry"
💡
Khi bạn gán nhiều giá trị cho nhiều biến cùng lúc, hãy đảm bảo rằng số lượng biến bạn liệt kê phải chính xác bằng số lượng giá trị bạn cung cấp. Nếu không, Python sẽ "bực mình" và báo lỗi ngay lập tức.
 

"Global Variables" (Biến toàn cục)

  • Biến mà mình tạo ra bên ngoài hàm (như mấy ví dụ ở trang trước) được gọi là biến toàn cục (global variables). Biến toàn cục này "quyền lực" lắm, ai cũng dùng được, cả bên trong lẫn bên ngoài hàm.
x = "tuyệt vời" def myfunc(): print("Python rất " + x) myfunc()
  • Nếu bạn tạo một biến có cùng tên với biến toàn cục bên trong hàm, thì biến đó sẽ là biến cục bộ (local variable), chỉ dùng được bên trong hàm đó thôi. Biến toàn cục cùng tên vẫn giữ nguyên giá trị ban đầu.
x = "tuyệt vời" def myfunc(): x = "xuất sắc" print("Python rất " + x) myfunc() print("Python rất " + x)
Kết quả:
Python rất xuất sắc Python rất tuyệt vời
Từ khóa global: Biến cục bộ thành biến toàn cục!
Thông thường, biến tạo trong hàm là biến cục bộ. Nhưng nếu bạn muốn tạo biến toàn cục bên trong hàm, bạn có thể dùng từ khóa global.
def myfunc(): global x x = "xuất sắc" myfunc() print("Python rất " + x)
Ở đây, x trở thành biến toàn cục, nên sau khi gọi myfunc(), x có giá trị "xuất sắc" ở bên ngoài hàm.
Thay đổi biến toàn cục bên trong hàm: Dùng global!
Nếu bạn muốn thay đổi giá trị của biến toàn cục bên trong hàm, bạn cũng phải dùng từ khóa global.
x = "tuyệt vời" def myfunc(): global x x = "xuất sắc" myfunc() print("Python rất " + x)

5. Kiểu dữ liệu

Trong Python, có 3 kiểu số cơ bản:
  • int (số nguyên): Số nguyên, dương hoặc âm, không có phần thập phân, độ dài không giới hạn.
  • float (số thực): Số thực, dương hoặc âm, có phần thập phân.
  • complex (số phức): Số phức, có phần ảo được viết với "j".
Python tự động nhận diện kiểu số khi bạn gán giá trị cho biến:
x = 1 # int y = 2.8 # float z = 1j # complex
Muốn biết kiểu số của biến nào, dùng hàm type() :
print(type(x)) print(type(y)) print(type(z))

a. Int

  • Int, hay số nguyên, là một số nguyên dương hoặc âm, không có phần thập phân, có độ dài không giới hạn.
x = 1 y = 35656222554887711 z = -3255522

b. Float

  • Số thực, hay số dấu phẩy động "floating point number”, là một số, dương hoặc âm, chứa một hoặc nhiều số thập phân.
x = 1.10 y = 1.0 z = -35.59
  • Số thực còn có thể viết dưới dạng số khoa học, dùng "e" để biểu thị lũy thừa của 10

c. Complex

  • Số phức có phần ảo được viết với "j”.
x = 3+5j y = 5j z = -5j

d. Chuyển đổi kiểu số:

  • Bạn có thể chuyển đổi giữa các kiểu số bằng hàm int(), float(), và complex()
x = 1 # int y = 2.8 # float z = 1j # complex a = float(x) # int -> float b = int(y) # float -> int c = complex(x) # int -> complex print(a) print(b) print(c) print(type(a)) print(type(b)) print(type(c))
Kết quả
1.0 2 (1+0j) <class 'float'> <class 'int'> <class 'complex'>
 
🚫
Lưu ý: Không thể chuyển đổi số phức sang kiểu số khác.

e. Boolean

  • Kiểu bool chỉ lưu trữ được 2 giá trị là True hoặc False
  • Chú ý: Các giá trị được xác định là True trong Python: Xâu khác rỗng, các số khác 0
a = True b = False
  • Khi bạn chạy một điều kiện trong câu lệnh if, Python trả về True hoặc False:
a = 200 b = 33 if b > a: print("b lớn hơn a") else: print("b không lớn hơn a")
 

f. Strings

  • Trong Python, chuỗi được bọc trong dấu nháy đơn ('...') hoặc dấu nháy kép ("..."). Hai cách này hoàn toàn giống nhau.
print("Xin chào") print('Xin chào')
  • Bạn có thể dùng nháy bên trong chuỗi, miễn là chúng không giống với dấu nháy bao quanh chuỗi:
print("It's alright") print("He is called 'Johnny'") print('He is called "Johnny"')
  • Muốn viết chuỗi nhiều dòng, dùng ba dấu nháy (ba nháy đơn hoặc ba nháy kép):
a = """Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.""" print(a) a = '''Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.''' print(a)
💡
Lưu ý: Dấu xuống dòng trong chuỗi sẽ được giữ nguyên khi in ra.
Chuỗi là mảng ký tự:
  • Giống như nhiều ngôn ngữ khác, chuỗi trong Python là mảng các byte đại diện cho ký tự Unicode.
  • Python không có kiểu dữ liệu ký tự riêng, một ký tự đơn giản là chuỗi có độ dài 1.
  • Dùng dấu ngoặc vuông ([...]) để truy cập từng ký tự trong chuỗi:
a = "Xin chào, Thế giới!" print(a[1]) # In ra ký tự ở vị trí 1 (nhớ là vị trí đầu tiên là 0)
Duyệt chuỗi bằng vòng lặp for:
  • Vì chuỗi là mảng, mình có thể dùng vòng lặp for để duyệt qua từng ký tự:
for x in "banana": print(x)
Độ dài chuỗi: Dùng hàm len():
a = "Xin chào, Thế giới!" print(len(a))
Kiểm tra chuỗi: Dùng từ khóa innot in:
  • Dùng in để kiểm tra xem một chuỗi con có tồn tại trong chuỗi lớn hơn hay không.
txt = "Cuộc sống tốt đẹp nhất là miễn phí!" if "miễn phí" in txt: print("Có, 'miễn phí' có trong chuỗi.")
  • Dùng not in để kiểm tra xem một chuỗi con không tồn tại trong chuỗi lớn hơn hay không.
txt = "Cuộc sống tốt đẹp nhất là miễn phí!" if "đắt đỏ" not in txt: print("Không, 'đắt đỏ' không có trong chuỗi.")
 

6. Toán tử trong Python

  • Toán tử là những ký hiệu dùng để thực hiện các phép tính trên biến và giá trị.
  • Ví dụ, mình dùng toán tử + để cộng hai giá trị lại với nhau:
print(10 + 5) # Kết quả: 15
Python chia toán tử thành các nhóm sau:
  • Toán tử số học (Arithmetic operators)
  • Toán tử gán (Assignment operators)
  • Toán tử so sánh (Comparison operators)
  • Toán tử logic (Logical operators)
  • Toán tử nhận dạng (Identity operators)
  • Toán tử thành viên (Membership operators)
  • Toán tử bit (Bitwise operators)

Toán tử số học (Arithmetic operators)

Toán tử số học dùng để thực hiện các phép tính toán học thông thường trên các giá trị số:
Toán tử
Tên gọi
Ví dụ
+
Cộng (Addition)
x + y
-
Trừ (Subtraction)
x - y
*
Nhân (Multiplication)
x * y
/
Chia (Division)
x / y
%
Chia lấy dư (Modulus)
x % y
**
Lũy thừa (Exponentiation)
x ** y
//
Chia lấy phần nguyên (Floor division)
x // y

Toán tử gán (Assignment operators)

Toán tử
Ví dụ
Tương đương
=
x = 5
x = 5
+=
x += 3
x = x + 3
-=
x -= 3
x = x - 3
*=
x *= 3
x = x * 3
/=
x /= 3
x = x / 3
%=
x %= 3
x = x % 3
//=
x //= 3
x = x // 3
**=
x **= 3
x = x ** 3
&=
x &= 3
x = x & 3
|=
x |= 3
x = x | 3
^=
x ^= 3
x = x ^ 3
>>=
x >>= 3
x = x >> 3
<<=
x <<= 3
x = x << 3 1
:=
print(x := 3)
x = 3 print(x)

Toán tử so sánh (Comparison operators)

Toán tử so sánh dùng để so sánh hai giá trị với nhau, và trả về kết quả là True (Đúng) hoặc False (Sai).
Toán tử
Tên gọi
Ví dụ
==
Bằng (Equal)
x == y
!=
Không bằng (Not equal)
x != y
>
Lớn hơn (Greater than)
x > y
<
Nhỏ hơn (Less than)
x < y
>=
Lớn hơn hoặc bằng (Greater than or equal to)
x >= y
<=
Nhỏ hơn hoặc bằng (Less than or equal to)
x <= y

Toán tử logic (Logical operators)

Toán tử logic dùng để kết hợp các điều kiện lại với nhau, giúp mình tạo ra những biểu thức phức tạp hơn.
Toán tử
Mô tả
Ví dụ
and
Trả về True nếu cả hai điều kiện đều đúng
x < 5 and x < 10
or
Trả về True nếu ít nhất một điều kiện đúng
x < 5 or x < 4
not
Đảo ngược kết quả, trả về False nếu kết quả là True
not(x < 5 and x < 10)

Toán tử nhận dạng (Identity operators)

Toán tử nhận dạng dùng để so sánh xem hai biến có phải là cùng một đối tượng hay không, tức là có cùng địa chỉ bộ nhớ hay không.
Toán tử
Mô tả
Ví dụ
is
Trả về True nếu hai biến là cùng một đối tượng
x is y
is not
Trả về True nếu hai biến không phải là cùng một đối tượng
x is not y

Toán tử thành viên (Membership operators)

Toán tử thành viên được dùng để kiểm tra sự tồn tại của một đối tượng trong lits, xâu, tuple…
Toán tử
Mô tả
Ví dụ
Kết quả
in
Trả về True nếu đối tượng kiểm tra tồn tại
‘a’ in ‘abcd’
True
not in
Trả về True nếu đối tượng kiểm tra không tồn tại
‘x’ not in ‘abcd’
True

Toán tử bit (Bitwise operators)

Toán tử bit được dùng để thực hiện các phép toán trên các số nhị phân (binary). Chúng làm việc trực tiếp với các bit (0 và 1) của số.
Toán tử
Tên gọi
Mô tả
Ví dụ
&
AND
Đặt mỗi bit là 1 nếu cả hai bit tương ứng đều là 1.
x & y
|
OR
Đặt mỗi bit là 1 nếu một trong hai bit tương ứng là 1.
x | y
^
XOR
Đặt mỗi bit là 1 nếu chỉ một trong hai bit tương ứng là 1.
x ^ y
~
NOT
Đảo ngược tất cả các bit (0 thành 1, 1 thành 0).
~x
<<
Dịch trái
Dịch các bit sang trái, thêm các bit 0 vào bên phải, và loại bỏ các bit bên trái.
x << 2
>>
Dịch phải
Dịch các bit sang phải, thêm các bản sao của bit bên trái vào bên trái, và loại bỏ các bit bên phải.
x >> 2

7. Python Dates

Trong Python, ngày tháng không phải là một kiểu dữ liệu riêng biệt, nhưng chúng ta có thể nhập một module tên là datetime để làm việc với ngày tháng dưới dạng các đối tượng ngày tháng.
Ví dụ
import datetime x = datetime.datetime.now() print(x)
Date Output
Khi chúng ta thực thi đoạn mã từ ví dụ trên, kết quả sẽ là:
2025-03-25 20:50:20.756081
Ngày tháng bao gồm năm, tháng, ngày, giờ, phút, giây và micro giây.
Module datetime có nhiều phương thức để trả về thông tin về đối tượng 1 ngày tháng.
Ví dụ
Trả về năm và tên ngày trong tuần:
import datetime x = datetime.datetime.now() print(x.year) print(x.strftime("%A"))
Tạo đối tượng ngày tháng
Để tạo một ngày tháng, chúng ta có thể sử dụng lớp (hàm khởi tạo) datetime() của module datetime.
Lớp datetime() yêu cầu ba tham số để tạo một ngày tháng: năm, tháng, ngày.
Ví dụ
Tạo một đối tượng ngày tháng:
import datetime x = datetime.datetime(2020, 5, 17) print(x)
ớp datetime() cũng nhận các tham số cho thời gian và múi giờ (giờ, phút, giây, micro giây, tzone), nhưng chúng là tùy chọn và có giá trị mặc định là 0 (hoặc None cho múi giờ).
Phương thức strftime()
Đối tượng datetime có một phương thức để định dạng các đối tượng ngày tháng thành chuỗi dễ đọc.
Phương thức này được gọi là strftime(), và nhận một tham số, format, để chỉ định định dạng của chuỗi trả về:
Ví dụ
Hiển thị tên của tháng:
import datetime x = datetime.datetime(2018, 6, 1) print(x.strftime("%B"))
Thử ngay »
Bảng tham chiếu tất cả các mã định dạng hợp lệ:
Chỉ thị
Mô tả
Ví dụ
%a
Ngày trong tuần, phiên bản ngắn
Wed
%A
Ngày trong tuần, phiên bản đầy đủ
Wednesday
%w
Ngày trong tuần dưới dạng số 0-6, 0 là Chủ nhật
3
%d
Ngày trong tháng 01-31
31
%b
Tên tháng, phiên bản ngắn
Dec
%B
Tên tháng, phiên bản đầy đủ
December
%m
Tháng dưới dạng số 01-12
12
%y
Năm, phiên bản ngắn, không có thế kỷ
18
%Y
Năm, phiên bản đầy đủ
2018
%H
Giờ 00-23
17
%I
Giờ 00-12
05
%p
AM/PM
PM
%M
Phút 00-59
41
%S
Giây 00-59
08
%f
Micro giây 000000-999999
548513
%z
Độ lệch UTC
+0100
%Z
Múi giờ
CST
%j
Số ngày trong năm 001-366
365
%U
Số tuần trong năm, Chủ nhật là ngày đầu tuần, 00-53
52
%W
Số tuần trong năm, Thứ Hai là ngày đầu tuần, 00-53
52
%c
Phiên bản địa phương của ngày và giờ
Mon Dec 31 17:41:00 2018
%C
Thế kỷ
20
%x
Phiên bản địa phương của ngày
12/31/18
%X
Phiên bản địa phương của giờ
17:41:00
%%
Ký tự %
%
%G
Năm ISO 8601
2018
%u
Ngày trong tuần ISO 8601 (1-7)
1
%V
Số tuần ISO 8601 (01-53)
01
 

8. File trong Python

Xử lý tệp là một phần quan trọng của bất kỳ ứng dụng web nào. Python có một số hàm để tạo, đọc, cập nhật và xóa tệp.
Hàm chính để làm việc với tệp trong Python là hàm open(). Hàm open() nhận hai tham số; filenamemode. Có bốn phương thức (mode) khác nhau để mở tệp:
  • "r" - Read (Đọc) - Giá trị mặc định. Mở tệp để đọc, báo lỗi nếu tệp không tồn tại.
  • "a" - Append (Ghi thêm) - Mở tệp để ghi thêm, tạo tệp nếu tệp không tồn tại.
  • "w" - Write (Ghi) - Mở tệp để ghi, tạo tệp nếu tệp không tồn tại.
  • "x" - Create (Tạo) - Tạo tệp được chỉ định, trả về lỗi nếu tệp tồn tại.
Ngoài ra, bạn có thể chỉ định xem tệp sẽ được xử lý ở chế độ nhị phân hay 1 chế độ văn bản:
  • "t" - Text (Văn bản) - Giá trị mặc định. Chế độ văn bản.
  • "b" - Binary (Nhị phân) - Chế độ nhị phân (ví dụ: hình ảnh).
Cú pháp
Để mở một tệp để đọc, chỉ cần chỉ định tên của tệp:
f = open("demofile.txt")
Đoạn mã trên tương tự như:
f = open("demofile.txt", "rt")
"r" để đọc và "t" cho văn bản là các giá trị mặc định, bạn không cần chỉ định chúng.
Lưu ý: Đảm bảo tệp tồn tại, nếu không bạn sẽ gặp lỗi.

Python File Open

Giả sử chúng ta có tệp sau, nằm trong cùng thư mục với Python:
demofile.txt Hello! Welcome to demofile.txt This file is for testing purposes. Good Luck!
Để mở tệp, hãy sử dụng hàm open() tích hợp sẵn. Hàm open() trả về một đối tượng tệp, có phương thức read() để đọc nội dung của tệp:
Ví dụ
f = open("demofile.txt", "r") print(f.read())
Kết quả chạy
Hello! Welcome to demofile.txt This file is for testing purposes. Good Luck!
Nếu tệp nằm ở một vị trí khác, bạn sẽ phải chỉ định đường dẫn tệp, như thế này:
Ví dụ
f = open("D:\\myfiles\\welcome.txt", "r") print(f.read())
Chỉ đọc một phần của tệp
Theo mặc định, phương thức read() trả về toàn bộ văn bản, nhưng bạn cũng có thể chỉ định số lượng ký tự bạn muốn trả về:
Ví dụ
Trả về 5 ký tự đầu tiên của tệp:
f = open("demofile.txt", "r") print(f.read(5))
Kết quả chạy:
Hello
Đọc dòng
Bạn có thể trả về một dòng bằng cách sử dụng phương thức readline():
Ví dụ
Đọc một dòng của tệp:
f = open("demofile.txt", "r") print(f.readline())
Kết quả chạy:
Hello! Welcome to demofile.txt
Bằng cách gọi readline() hai lần, bạn có thể đọc hai dòng đầu tiên:
Ví dụ
Đọc hai dòng của tệp:
Python
f = open("demofile.txt", "r") print(f.readline()) print(f.readline())
Kết quả chạy:
Hello! Welcome to demofile.txt This file is for testing purposes.
Bằng cách lặp qua các dòng của tệp, bạn có thể đọc toàn bộ tệp, từng dòng một:
Ví dụ
f = open("demofile.txt", "r") for x in f: print(x)
Kết quả chạy:
Hello! Welcome to demofile.txt This file is for testing purposes. Good Luck!
Đóng Tệp
Nên thực hành tốt là luôn đóng tệp khi bạn hoàn thành việc sử dụng nó.
Ví dụ
Đóng tệp khi bạn hoàn thành việc sử dụng nó:
f = open("demofile.txt", "r") print(f.readline()) f.close()
💡
Lưu ý: Bạn nên luôn đóng tệp của mình. Trong một số trường hợp, do bộ đệm, các thay đổi được thực hiện đối với tệp có thể không hiển thị cho đến khi bạn đóng tệp.

Python File Write

Để ghi vào một tệp hiện có, bạn phải thêm một tham số vào hàm open():
  • "a" - Append (Ghi thêm) - sẽ ghi thêm vào cuối tệp.
  • "w" - Write (Ghi) - sẽ ghi đè lên bất kỳ nội dung hiện có nào.
Ví dụ
Mở tệp "demofile2.txt" và ghi thêm nội dung vào tệp:
f = open("demofile2.txt", "a") f.write("Now the file has more content!") f.close() # Mở và đọc tệp sau khi ghi thêm: f = open("demofile2.txt", "r") print(f.read())
Mở tệp "demofile3.txt" và ghi đè nội dung:
f = open("demofile3.txt", "w") f.write("Woops! I have deleted the content!") f.close() # Mở và đọc tệp sau khi ghi đè: f = open("demofile3.txt", "r") print(f.read())
💡
Lưu ý: Phương thức "w" sẽ ghi đè lên toàn bộ tệp.
Tạo Tệp Mới
Để tạo một tệp mới trong Python, hãy sử dụng phương thức open(), với một trong các tham số sau:
  • "x" - Create (Tạo) - sẽ tạo một tệp, trả về lỗi nếu tệp tồn tại.
  • "a" - Append (Ghi thêm) - sẽ tạo một tệp nếu tệp được chỉ định không tồn tại.
  • "w" - Write (Ghi) - sẽ tạo một tệp nếu tệp được chỉ định không tồn tại.
Ví dụ
Tạo một tệp có tên "myfile.txt":
f = open("myfile.txt", "x")
Kết quả: một tệp trống mới được tạo!
Ví dụ
Tạo một tệp mới nếu nó không tồn tại:
f = open("myfile.txt", "w")

Python Delete File

Để xóa một tệp, bạn phải nhập module OS và chạy hàm os.remove() của nó:
Ví dụ
Xóa tệp "demofile.txt":
import os os.remove("demofile.txt")
(Kết quả chạy: tệp "demofile.txt" bị xóa.)
Kiểm tra xem Tệp có tồn tại không:
Để tránh gặp lỗi, bạn có thể muốn kiểm tra xem tệp có tồn tại trước khi bạn cố gắng xóa nó:
Ví dụ
Kiểm tra xem tệp có tồn tại không, sau đó xóa nó:
import os if os.path.exists("demofile.txt"): os.remove("demofile.txt") else: print("The file does not exist")
Kết quả chạy (nếu file tồn tại):
(Không có kết quả đầu ra, tệp "demofile.txt" bị xóa.)
Kết quả chạy (nếu file không tồn tại):
The file does not exist
Xóa Thư mục
Để xóa toàn bộ thư mục, hãy sử dụng phương thức os.rmdir():
Ví dụ
Xóa thư mục "myfolder":
import os os.rmdir("myfolder")
(Kết quả chạy: thư mục "myfolder" bị xóa.)
Lưu ý: Bạn chỉ có thể xóa các thư mục trống.