Ghi vào tập tin với python

Chúng tôi có nhiều chế độ truy cập khác nhau để mở tệp văn bản hiện có bằng Python và ghi vào tệp đó, tùy thuộc vào những gì chúng tôi cần. Ngay cả khi tệp văn bản chưa tồn tại, chúng ta có thể sử dụng chế độ truy cập w hoặc a để tạo tệp văn bản rồi ghi vào đó. Trong Python có 2 hàm giúp chúng ta ghi vào file văn bản

1. Hàm write() trong Python

Bất kỳ chuỗi nào bạn cung cấp làm tham số cho hàm này, nó sẽ ghi nó dưới dạng một dòng trong tệp văn bản. Bây giờ, một lần nữa, nội dung hiện có có bị cắt bớt hay không tùy thuộc vào chế độ truy cập. Nếu bạn sử dụng chế độ w, nội dung sẽ bị cắt bớt và chuỗi của bạn sẽ được ghi. Tuy nhiên, trong chế độ a, nội dung hiện có của bạn sẽ không bị xóa và chuỗi của bạn sẽ được viết sau nội dung

Bây giờ chúng ta hãy xem một ví dụ. Ban đầu, chúng tôi không có bất kỳ tệp hiện có nào có tên viết. txt. Chúng tôi đang tạo nó bằng cách sử dụng chế độ w. Khi chúng tôi mở tệp mới, nó rõ ràng là trống. Sau đó chúng tôi sẽ viết nội dung vào đó

file_obj = open("writing.txt", "w")

Ở đây, file_obj là đối tượng tệp. Chúng tôi đang mở một tệp có tên là viết. txt ở chế độ truy cập w. Nếu tệp này không tồn tại, vì chúng tôi đã sử dụng chế độ truy cập w, nó sẽ được tạo

Bây giờ chúng ta có thể viết vào nó như thế này

file_obj.write("This is how you write to a file")
file_obj.write("Now this will be written to another line")

Vì chúng ta đã sử dụng phương thức open() để mở tệp, thay vì sử dụng phương thức open(), chúng ta cũng cần phải đóng tệp

Bây giờ hãy xem tệp của chúng ta trông như thế nào với chương trình bên dưới

{"output":"This is how you write to a file /n
 Now this will be written to another line "}
print(file_obj.read())
file_obj.close()

Tệp không tồn tại hiện có hai dòng nội dung trong đó. Hãy thử viết lại vào tệp, chỉ một dòng nữa. Vì chúng tôi đã đóng tệp trước đó, chúng tôi cần mở lại

file = open("writing.txt", "w")

Lưu ý cách chúng tôi sử dụng chế độ truy cập w. Việc viết tập tin. txt hiện đang tồn tại. Lần trước ta dùng hàm open để mở file thì nó không tồn tại. Chúng tôi đã tạo nó và sau đó mở nó. Lần này, nó chỉ mở ở chế độ viết vì nó đã tồn tại

file.write("Where do you think this will be written in the file?")
file.write("Obviously, the initial contents will be overwritten with these two lines")
print(file.read())
file.close()

Khi bạn chạy mã này, bạn sẽ thấy nội dung tệp bên dưới

Where do you think this will be written in the file?
Obviously, the initial contents will be overwritten with these two lines.

Để giữ nội dung ban đầu của tệp, bạn sẽ phải sử dụng chế độ truy cập append (a). Vì bạn sẽ thay đổi chế độ truy cập nên bạn cần mở lại tệp ở chế độ đó sau khi đóng tệp

file = open("writing.txt", "a")
file.write("This way, I will preserve the existing contents in the file")
print(file.read())
file.close()

đầu ra

Where do you think this will be written in the file?
Obviously, the initial contents will be overwritten with these two lines
This way, it will preserve the existing contents in the file

2. Hàm writelines() trong Python

Thường xuyên sử dụng tệp. write() cho mọi dòng mà chúng tôi muốn ghi vào tệp của bạn có thể gặp khó khăn. Do đó, chúng ta có thể sử dụng hàm writelines()

Một cách đơn giản để sử dụng nó là cung cấp một danh sách các chuỗi làm tham số cho writelines()

________số 8_______

Lưu ý rằng nếu bạn mở tệp bằng w hoặc chế độ truy cập, bạn chỉ có thể ghi vào tệp chứ không thể đọc từ tệp đó. Theo cách tương tự, nếu bạn mở tệp ở chế độ r, bạn chỉ có thể đọc từ tệp chứ không thể ghi. Nếu bạn muốn thực hiện đồng thời cả hai thao tác, bạn nên sử dụng chế độ a+

Ghi vào tệp nhị phân trong Python

Sau khi học cách đọc dữ liệu từ tệp nhị phân, tôi chắc rằng bạn cũng biết cách ghi vào đó. Chúng tôi sử dụng chế độ wb để ghi vào tệp nhị phân

Thí dụ

f = open("binfile.bin", "wb")
nums = [1, 2, 3, 4, 5]
arr = bytearray(nums)
f.write(arr)
f.close()

Rõ ràng, dữ liệu nhị phân không phải là con người có thể nhận ra. Vì vậy, khi chúng ta phải viết một mảng các số như 1, 2, 3, 4 và 5, trước tiên chúng ta cần chuyển đổi chúng thành biểu diễn byte để lưu trữ trong tệp nhị phân. Với mục đích đó, chúng tôi sử dụng hàm bytearray() tích hợp

Trong hướng dẫn này, bạn sẽ học cách mở tệp, ghi vào tệp và đóng tệp. Bạn cũng sẽ học cách đọc từ tệp bằng Python

Đến cuối hướng dẫn này, bạn sẽ biết những kiến ​​thức cơ bản về cách sử dụng tệp trong Python

Xử lý tệp trong Python

Xử lý tệp là một hoạt động quan trọng trong mọi ứng dụng web. Các loại hoạt động mà bạn có thể thực hiện trên tệp đã mở được kiểm soát bởi Chế độ truy cập. Những điều này mô tả cách tệp sẽ được sử dụng sau khi nó được mở

Các chế độ này cũng chỉ định vị trí xử lý tệp trong tệp. Tương tự như một con trỏ, một phần xử lý tệp cho biết nơi dữ liệu sẽ được đọc hoặc đưa vào tệp

Trong Python, có sáu phương thức hoặc chế độ truy cập, đó là

  1. Chỉ đọc ('r'). Chế độ này mở các tệp văn bản chỉ để đọc. Bắt đầu tệp là nơi đặt tay cầm. Nó làm tăng lỗi I/O nếu tệp không tồn tại. Đây cũng là chế độ mặc định để mở tệp
  2. Đọc và Viết ('r+'). Phương pháp này mở tệp cho cả đọc và ghi. Bắt đầu tệp là nơi đặt tay cầm. Nếu tệp không tồn tại, lỗi I/O sẽ xuất hiện
  3. Chỉ ghi ('w'). Chế độ này chỉ mở tệp để ghi. Dữ liệu trong các tệp hiện có được sửa đổi và ghi đè. Bắt đầu tệp là nơi đặt tay cầm. Nếu tệp chưa tồn tại trong thư mục, một tệp mới sẽ được tạo
  4. Viết và Đọc ('w+'). Chế độ này mở tệp cho cả đọc và ghi. Văn bản bị ghi đè và xóa khỏi một tệp hiện có. Bắt đầu tệp là nơi đặt tay cầm
  5. Chỉ nối thêm ('a'). Chế độ này cho phép mở tệp để ghi. Nếu tệp chưa tồn tại, một tệp mới sẽ được tạo. Tay cầm được đặt ở cuối tệp. Dữ liệu mới được ghi sẽ được thêm vào cuối, sau dữ liệu được ghi trước đó
  6. Nối và Đọc ('a+'). Sử dụng phương pháp này, bạn có thể đọc và ghi trong tệp. Nếu tệp chưa tồn tại, một tệp sẽ được tạo. Tay cầm được đặt ở cuối tệp. Văn bản mới viết sẽ được thêm vào cuối, sau dữ liệu đã viết trước đó

Dưới đây là mã cần thiết để tạo, ghi và đọc tệp văn bản bằng cách sử dụng các phương thức xử lý tệp Python hoặc chế độ truy cập

Cách tạo tệp trong Python

Trong Python, bạn sử dụng hàm

#creating a text file with the command function "w"

f = open("myfile.txt", "w")

#This "w" command can also be used create a new file but unlike the the "x" command the "w" command will overwrite any existing file found with the same file name.
0 với một trong các tùy chọn sau – “x” hoặc “w” – để tạo tệp mới

  • "x" – Tạo. lệnh này sẽ tạo một tệp mới khi và chỉ khi không có tệp nào tồn tại với tên đó, nếu không nó sẽ trả về lỗi

Ví dụ tạo tệp trong Python bằng lệnh "x"

#creating a text file with the command function "x"

f = open("myfile.txt", "x")

Bây giờ chúng tôi đã tạo một tệp văn bản trống mới. Nhưng nếu bạn thử lại mã ở trên – ví dụ: nếu bạn cố gắng tạo một tệp mới có cùng tên như bạn đã sử dụng ở trên (nếu bạn muốn sử dụng lại tên tệp ở trên), bạn sẽ nhận được thông báo lỗi rằng tệp đã tồn tại. Nó sẽ giống như hình bên dưới

Ghi vào tập tin với python
  • "w" – Viết. lệnh này sẽ tạo một tệp văn bản mới cho dù có tệp trong bộ nhớ với tên được chỉ định mới hay không. Nó không trả về lỗi nếu tìm thấy một tệp hiện có cùng tên – thay vào đó, nó sẽ ghi đè lên tệp hiện có

Ví dụ về cách tạo tệp bằng lệnh "w"

#creating a text file with the command function "w"

f = open("myfile.txt", "w")

#This "w" command can also be used create a new file but unlike the the "x" command the "w" command will overwrite any existing file found with the same file name.

Với đoạn mã trên, cho dù tệp tồn tại hay tệp không tồn tại trong bộ nhớ, bạn vẫn có thể tiếp tục và sử dụng mã đó. Chỉ cần lưu ý rằng nó sẽ ghi đè lên tệp nếu nó tìm thấy một tệp hiện có cùng tên

Cách ghi vào tệp bằng Python

Có hai phương pháp ghi vào một tệp trong Python, đó là

Phương pháp #creating a text file with the command function "w" f = open("myfile.txt", "w") #This "w" command can also be used create a new file but unlike the the "x" command the "w" command will overwrite any existing file found with the same file name.1

Hàm này chèn chuỗi vào tệp văn bản trên một dòng

Dựa vào tệp ta đã tạo ở trên, dòng mã bên dưới sẽ chèn chuỗi vào tệp văn bản đã tạo, đó là "myfile. txt. ”


file.write("Hello There\n")

Phương pháp #creating a text file with the command function "w" f = open("myfile.txt", "w") #This "w" command can also be used create a new file but unlike the the "x" command the "w" command will overwrite any existing file found with the same file name.2

Chức năng này chèn nhiều chuỗi cùng một lúc. Một danh sách các phần tử chuỗi được tạo và sau đó mỗi chuỗi được thêm vào tệp văn bản

Sử dụng tệp đã tạo trước đó ở trên, dòng mã bên dưới sẽ chèn chuỗi vào tệp văn bản đã tạo, đó là "myfile. txt. ”

f.writelines(["Hello World ", "You are welcome to Fcc\n"])

Ví dụ

#This program shows how to write data in a text file.

file = open("myfile.txt","w")
L = ["This is Lagos \n","This is Python \n","This is Fcc \n"]

# i assigned ["This is Lagos \n","This is Python \n","This is Fcc \n"] to #variable L, you can use any letter or word of your choice.
# Variable are containers in which values can be stored.
# The \n is placed to indicate the end of the line.

file.write("Hello There \n")
file.writelines(L)
file.close()

# Use the close() to change file access modes

Cách đọc từ một tệp văn bản trong Python

Có ba phương pháp đọc dữ liệu từ tệp văn bản trong Python. họ đang

Phương pháp #creating a text file with the command function "w" f = open("myfile.txt", "w") #This "w" command can also be used create a new file but unlike the the "x" command the "w" command will overwrite any existing file found with the same file name.3

Hàm này trả về các byte được đọc dưới dạng chuỗi. Nếu không có n nào được chỉ định, thì nó sẽ đọc toàn bộ tệp

Ví dụ

f = open("myfiles.txt", "r")
#('r’) opens the text files for reading only
print(f.read())
#The "f.read" prints out the data in the text file in the shell when run.

Phương thức readline()

Hàm này đọc một dòng từ tệp và trả về dưới dạng một chuỗi. Nó đọc tối đa n byte cho n được chỉ định. Nhưng ngay cả khi n lớn hơn độ dài của dòng, nó cũng không đọc được nhiều hơn một dòng

f = open("myfiles.txt", "r")
print(f.readline())

Phương pháp #creating a text file with the command function "w" f = open("myfile.txt", "w") #This "w" command can also be used create a new file but unlike the the "x" command the "w" command will overwrite any existing file found with the same file name.4

Hàm này đọc tất cả các dòng và trả về chúng dưới dạng các phần tử chuỗi trong danh sách, mỗi phần tử cho một dòng

Bạn có thể đọc hai dòng đầu tiên bằng cách gọi

#creating a text file with the command function "w"

f = open("myfile.txt", "w")

#This "w" command can also be used create a new file but unlike the the "x" command the "w" command will overwrite any existing file found with the same file name.
5 hai lần, đọc hai dòng đầu tiên của tệp

f = open("myfiles.txt", "r")
print(f.readline())
print(f.readline())

Cách đóng tệp văn bản bằng Python

Đó là một thực hành tốt để luôn đóng tệp khi bạn hoàn thành nó

Ví dụ đóng tệp văn bản

Chức năng này đóng tệp văn bản khi bạn sửa đổi xong

f = open("myfiles.txt", "r")
print(f.readline())
f.close()

Hàm close() ở cuối mã cho Python biết rõ điều đó, tôi đã hoàn thành phần tạo hoặc đọc này – nó giống như nói Kết thúc

Ví dụ

Chương trình dưới đây trình bày thêm các ví dụ về cách đọc và ghi dữ liệu trong tệp văn bản. Mỗi dòng mã có nhận xét để giúp bạn hiểu điều gì đang xảy ra

# Program to show various ways to read and
# write data in a text file.

file = open("myfile.txt","w")
L = ["This is Lagos \n","This is Python \n","This is Fcc \n"]

#i assigned ["This is Lagos \n","This is Python \n","This is Fcc \n"]
#to variable L
  
#The \n is placed to indicate End of Line

file.write("Hello There \n")
file.writelines(L)
file.close()
# use the close() to change file access modes



file = open("myfile.txt","r+") 
print("Output of the Read function is ")
print(file.read())
print()
  
# The seek(n) takes the file handle to the nth
# byte from the start.
file.seek(0) 
  
print( "The output of the Readline function is ")
print(file.readline()) 
print()
  
file.seek(0)
  
# To show difference between read and readline

print("Output of Read(12) function is ") 
print(file.read(12))
print()

file.seek(0)
  
print("Output of Readline(8) function is ") 
print(file.readline(8))
  
file.seek(0)
# readlines function
print("Output of Readlines function is ") 
print(file.readlines()) 
print()
file.close()

Đây là đầu ra của đoạn mã trên khi chạy trong trình bao. Tôi đã chỉ định "Đây là Lagos",  "Đây là Python" và "Đây là Fcc" cho "L" và sau đó yêu cầu in bằng cách sử dụng ''tệp. chức năng read''  

Đoạn mã trên cho thấy hàm "readline()" đang trả về chữ cái dựa trên số được chỉ định cho nó, trong khi hàm "readlines()" đang trả về mọi chuỗi được gán cho "L" bao gồm cả \n. Tức là hàm "readlines()" sẽ in ra toàn bộ dữ liệu trong file

Ghi vào tập tin với python

Phần kết luận

Hy vọng rằng sau khi xem qua hướng dẫn này, bạn sẽ hiểu xử lý tệp trong Python là gì. Chúng tôi cũng đã học các chế độ/phương thức cần thiết để tạo, viết, đọc và đóng () một tệp văn bản bằng một số ví dụ cơ bản từ Python

Cảm ơn vì đã đọc

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO


Ghi vào tập tin với python
David Fagbuyiro

Kỹ sư phần mềm, Nhà văn kỹ thuật và Web 3. 0 đam mê


Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu