Làm cách nào để ghi liên tục vào một tệp bằng Python trong vòng lặp for?

Đọc, viết và chỉnh sửa tệp trong Python là một nhiệm vụ phổ biến, vì ngôn ngữ này cung cấp cho chúng ta các hàm tích hợp cho phép chúng ta làm như vậy

Trong bài viết này, tôi sẽ tạo một dự án đơn giản nơi tôi sẽ ghi vào, thêm vào và cuối cùng đọc từ một tệp văn bản bằng Python để cho bạn thấy nó được thực hiện như thế nào

Bạn có thể làm theo cùng với tôi và thực hiện các bước giống như tôi

Bắt đầu nào

Cách thiết lập cấu trúc của dự án

Bước đầu tiên là thiết lập cấu trúc thư mục của dự án

Chọn nơi bạn muốn tạo thư mục mới và làm theo các bước bên dưới

Tôi đang tạo dự án trong thư mục chính của mình

#this command moves you into your home directory if you're not there already
cd 

#create a new directory and give it a name
mkdir python_text

#move into the directory you just created
cd python_text

#create two empty files in the same directory: one text file and one to hold your Python scripts
touch text.txt scripts.py

#open Visual Studio Code to edit
code .

Hiện tại, tệp văn bản trống

Làm cách nào để ghi liên tục vào một tệp bằng Python trong vòng lặp for?

Hãy thêm một cái gì đó vào nó

Cách ghi vào tệp văn bản trong Python

Cách thực hành tốt nhất để ghi vào, thêm vào và đọc từ tệp văn bản trong Python là sử dụng từ khóa with

Cú pháp chung trông như thế này

with open("path_to_and_name_of_file","mode") as variable_name:
    variable_name.write('What I want to write goes here')

Phá vỡ

  • Trước tiên, bạn bắt đầu với từ khóa with
  • Tiếp theo, bạn mở tệp văn bản. Hàm
    with open("path_to_and_name_of_file","mode") as variable_name:
        variable_name.write('What I want to write goes here')
    
    1 trả về một đối tượng tệp và nhận hai tham số. Đường dẫn đến tệp và tên của tệp mà bạn muốn mở. Tệp trong ví dụ này nằm trong cùng thư mục với tập lệnh Python, vì vậy đường dẫn rất đơn giản. Tham số thứ hai là chế độ mở tệp. Để ghi vào tệp, chế độ là
    with open("path_to_and_name_of_file","mode") as variable_name:
        variable_name.write('What I want to write goes here')
    
    2 cho
    with open("path_to_and_name_of_file","mode") as variable_name:
        variable_name.write('What I want to write goes here')
    
    3
  • Sau đó, chúng ta có từ khóa
    with open("path_to_and_name_of_file","mode") as variable_name:
        variable_name.write('What I want to write goes here')
    
    4
  • Tiếp theo, tên biến đóng vai trò là nơi lưu trữ tạm thời nội dung văn bản mà bạn sẽ lưu trữ
  • Phương thức
    with open("path_to_and_name_of_file","mode") as variable_name:
        variable_name.write('What I want to write goes here')
    
    5 được sử dụng để ghi vào tệp văn bản và thêm nội dung chuỗi mà bạn muốn

Vì vậy, để thêm một số văn bản vào tệp văn bản, trong

with open("path_to_and_name_of_file","mode") as variable_name:
    variable_name.write('What I want to write goes here')
6 hãy thêm

________số 8_______

Để thêm văn bản trên các dòng khác nhau, như tôi đã làm trong ví dụ trên, bạn phải thêm một cách rõ ràng ký tự xuống dòng,

with open("path_to_and_name_of_file","mode") as variable_name:
    variable_name.write('What I want to write goes here')
7, chính bạn

Mở thiết bị đầu cuối tích hợp trong Visual Studio Code (_______1_______8) và chạy mã bằng cách nhập.

with open("path_to_and_name_of_file","mode") as variable_name:
    variable_name.write('What I want to write goes here')
9

Kiểm tra

with open("text.txt","w") as file:
    file.write("I am learning Python!\n")
    file.write("I am really enjoying it!\n")
    file.write("And I want to add more lines to say how much I like it")
0 và nó sẽ được thêm vào như sau

Làm cách nào để ghi liên tục vào một tệp bằng Python trong vòng lặp for?

Điều quan trọng cần lưu ý là mỗi lần bạn sử dụng phương pháp

with open("path_to_and_name_of_file","mode") as variable_name:
    variable_name.write('What I want to write goes here')
5 và chạy mã của mình, bất kỳ văn bản nào bạn có trước đó sẽ bị ghi đè

Giả sử tôi đã có một số văn bản giả trong tệp

with open("text.txt","w") as file:
    file.write("I am learning Python!\n")
    file.write("I am really enjoying it!\n")
    file.write("And I want to add more lines to say how much I like it")
0 của mình khi tôi tạo nó lần đầu tiên

Làm cách nào để ghi liên tục vào một tệp bằng Python trong vòng lặp for?

Nếu tôi chạy mã trước đó

________số 8_______

Bây giờ nó sẽ trông như thế này

Làm cách nào để ghi liên tục vào một tệp bằng Python trong vòng lặp for?

Tôi đã mất tất cả dữ liệu trước đây của mình

Cách nối thêm tệp văn bản trong Python

Appending hoạt động tương tự như viết

Nhưng lần này, bạn mở tệp văn bản để nối thêm, với tham số cho chế độ trong hàm

with open("path_to_and_name_of_file","mode") as variable_name:
    variable_name.write('What I want to write goes here')
1 là
with open("text.txt","w") as file:
    file.write("I am learning Python!\n")
    file.write("I am really enjoying it!\n")
    file.write("And I want to add more lines to say how much I like it")
4 cho
with open("text.txt","w") as file:
    file.write("I am learning Python!\n")
    file.write("I am really enjoying it!\n")
    file.write("And I want to add more lines to say how much I like it")
5

with open("text.txt","a") as file:
    file.write("What I want to add on goes here")

Bất cứ điều gì diễn ra trong phương thức

with open("path_to_and_name_of_file","mode") as variable_name:
    variable_name.write('What I want to write goes here')
5 sẽ được thêm vào cuối tệp văn bản

Vì vậy, để thêm một số văn bản khác vào

with open("text.txt","w") as file:
    file.write("I am learning Python!\n")
    file.write("I am really enjoying it!\n")
    file.write("And I want to add more lines to say how much I like it")
0, bạn thêm phần sau

with open("text.txt","a") as file:
    file.write("I am adding in more lines\n")
    file.write("And more…")

Sau khi chạy lại mã,

with open("text.txt","w") as file:
    file.write("I am learning Python!\n")
    file.write("I am really enjoying it!\n")
    file.write("And I want to add more lines to say how much I like it")
0 sẽ trông như thế này

Làm cách nào để ghi liên tục vào một tệp bằng Python trong vòng lặp for?

Văn bản trước đó không bị xóa

Văn bản mới được thêm ngay sau văn bản cũ và bạn lại phải thêm một cách rõ ràng vào ký tự xuống dòng

with open("text.txt","a") as file:
    file.write("\n")
    file.write("I am adding in more lines\n")
    file.write("And more…")

Làm cách nào để ghi liên tục vào một tệp bằng Python trong vòng lặp for?

Cách đọc từ một tệp trong Python

Để đọc từ một tệp, bạn lại sử dụng từ khóa with và hàm

with open("path_to_and_name_of_file","mode") as variable_name:
    variable_name.write('What I want to write goes here')
1 với hai đối số. cái đầu tiên là đường dẫn đến và tên của tệp, và cái thứ hai là chế độ mà tệp sẽ được mở

Để mở tệp văn bản, chế độ là

with open("text.txt","w") as file:
    file.write("I am learning Python!\n")
    file.write("I am really enjoying it!\n")
    file.write("And I want to add more lines to say how much I like it")
1 cho
with open("text.txt","w") as file:
    file.write("I am learning Python!\n")
    file.write("I am really enjoying it!\n")
    file.write("And I want to add more lines to say how much I like it")
2

Sau đó, hàm

with open("text.txt","w") as file:
    file.write("I am learning Python!\n")
    file.write("I am really enjoying it!\n")
    file.write("And I want to add more lines to say how much I like it")
3 in ra bàn điều khiển và lấy đối số là tên biến với hàm
with open("text.txt","w") as file:
    file.write("I am learning Python!\n")
    file.write("I am really enjoying it!\n")
    file.write("And I want to add more lines to say how much I like it")
4

with  open('text.txt','r') as file:
    print(file.read())

đầu ra

Làm cách nào để ghi liên tục vào một tệp bằng Python trong vòng lặp for?

Để đọc từ một tệp trong Python, bạn cũng có thể tạo một vòng lặp

with open("text.txt","w") as file:
    file.write("I am learning Python!\n")
    file.write("I am really enjoying it!\n")
    file.write("And I want to add more lines to say how much I like it")
5 để lặp qua từng dòng từ tệp văn bản

with open("text.txt","r") as file:
    for line in file:
        print(line)

đầu ra

Làm cách nào để ghi liên tục vào một tệp bằng Python trong vòng lặp for?

Với cách này, mỗi dòng được in ra một cách riêng biệt

Phần kết luận

Bài viết này đã chỉ cho bạn một số ví dụ đơn giản về cách viết, chỉnh sửa và đọc từ tệp trong Python

Nếu bạn muốn tìm hiểu thêm về ngôn ngữ lập trình Python, freeCodeCamp có Chứng chỉ Python miễn phí, nơi bạn bắt đầu từ những điều cơ bản và chuyển sang các khía cạnh phức tạp hơn của ngôn ngữ. Cuối cùng, bạn sẽ xây dựng năm dự án để thực hành những gì bạn đã học

Cảm ơn đã đọc và học tập vui vẻ

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


Làm cách nào để ghi liên tục vào một tệp bằng Python trong vòng lặp for?
Dionysia Lemonaki

Học một cái gì đó mới mỗi ngày và viết về nó


Nếu bài viết này hữu ích, hãy tweet 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