Python ghi vào tệp văn bản

Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để ghi (hoặc lưu) vào tệp văn bản. Python cung cấp cơ hội đáng kinh ngạc để đọc và làm việc với các tệp văn bản – khả năng lưu kết quả đầu ra vào tệp văn bản là một kỹ năng quan trọng. Python có thể xử lý cả tệp văn bản thông thường và tệp nhị phân – trong hướng dẫn này, bạn sẽ học cách làm việc với tệp văn bản

Đến cuối hướng dẫn này, bạn sẽ học được

  • Cách sử dụng Python để ghi vào một. tập tin txt
  • Cách sử dụng trình quản lý ngữ cảnh để ghi vào tệp văn bản một cách an toàn
  • Cách nối văn bản vào tệp trong Python
  • Cách viết văn bản UTF-8 vào Tệp bằng Python

Mục lục

  • Cách sử dụng Python để ghi vào tệp văn bản
  • Viết nhiều dòng vào một tệp văn bản bằng Python
  • Cách nối vào tệp văn bản trong Python
  • Cách viết văn bản được mã hóa UTF-8 vào một tệp bằng Python
  • Sự kết luận
  • Tài nguyên bổ sung

Cách sử dụng Python để ghi vào tệp văn bản

Python cung cấp một số cách để ghi văn bản vào tệp, tùy thuộc vào số lượng dòng bạn đang viết

  • # Writing Multiple Lines to a Text File
    text = ['Welcome to datagy.io!', "Let's learn some Python!"]
    
    with open('/Users/nikpi/Desktop/textfile.txt', 'w') as f:
        for line in text:
            f.write(line)
            f.write('\n')
    0 sẽ viết một dòng vào một tệp
  • # Writing Multiple Lines to a Text File
    text = ['Welcome to datagy.io!', "Let's learn some Python!"]
    
    with open('/Users/nikpi/Desktop/textfile.txt', 'w') as f:
        for line in text:
            f.write(line)
            f.write('\n')
    1 sẽ ghi nhiều dòng vào một tệp

Các phương pháp này cho phép bạn viết một dòng tại một thời điểm hoặc viết nhiều dòng vào một tệp đã mở. Mặc dù Python cho phép bạn mở tệp bằng cách sử dụng

# Writing Multiple Lines to a Text File
text = ['Welcome to datagy.io!', "Let's learn some Python!"]

with open('/Users/nikpi/Desktop/textfile.txt', 'w') as f:
    for line in text:
        f.write(line)
        f.write('\n')
2, nhưng tốt nhất bạn nên sử dụng trình quản lý ngữ cảnh để xử lý việc đóng tệp hiệu quả và an toàn hơn

Hãy xem nó trông như thế nào

# Writing a Single Line to a Text File
text = 'Welcome to datagy.io!'

with open('/Users/nikpi/Desktop/textfile.txt', 'w') as f:
    f.write(text)

Hãy chia nhỏ đoạn mã trên đang làm gì

  • Chúng tôi tải một chuỗi chứa văn bản của chúng tôi trong một biến
    # Writing Multiple Lines to a Text File
    text = ['Welcome to datagy.io!', "Let's learn some Python!"]
    
    with open('/Users/nikpi/Desktop/textfile.txt', 'w') as f:
        for line in text:
            f.write(line)
            f.write('\n')
    3
  • Sau đó, chúng tôi sử dụng trình quản lý ngữ cảnh để mở tệp ở chế độ
    # Writing Multiple Lines to a Text File
    text = ['Welcome to datagy.io!', "Let's learn some Python!"]
    
    with open('/Users/nikpi/Desktop/textfile.txt', 'w') as f:
        for line in text:
            f.write(line)
            f.write('\n')
    0, chế độ này cho phép chúng tôi ghi đè lên văn bản hiện có
  • Tệp không cần tồn tại – nếu không tồn tại, nó sẽ tự động được tạo
  • Sau đó, sử dụng phương thức
    # Writing Multiple Lines to a Text File
    text = ['Welcome to datagy.io!', "Let's learn some Python!"]
    
    with open('/Users/nikpi/Desktop/textfile.txt', 'w') as f:
        for line in text:
            f.write(line)
            f.write('\n')
    0 để ghi chuỗi của chúng tôi vào tệp

Viết nhiều dòng vào một tệp văn bản bằng Python

Trong nhiều trường hợp, bạn có thể không muốn ghi một dòng văn bản vào một tệp. Hãy cùng xem cách chúng ta có thể viết nhiều dòng văn bản vào một tệp bằng phương thức

# Writing Multiple Lines to a Text File
text = ['Welcome to datagy.io!', "Let's learn some Python!"]

with open('/Users/nikpi/Desktop/textfile.txt', 'w') as f:
    for line in text:
        f.write(line)
        f.write('\n')
0

# Writing Multiple Lines to a Text File
text = ['Welcome to datagy.io!', "Let's learn some Python!"]

with open('/Users/nikpi/Desktop/textfile.txt', 'w') as f:
    for line in text:
        f.write(line)
        f.write('\n')

Hãy xem những gì chúng ta đang làm trong đoạn mã trên

  • Chúng tôi tải danh sách các chuỗi chứa các dòng văn bản mà chúng tôi muốn lưu
  • Tương tự như ví dụ trước, chúng tôi mở tệp bằng trình quản lý ngữ cảnh
  • Sau đó, chúng tôi lặp qua từng mục trong danh sách để ghi từng chuỗi vào tệp
  • Đối với mỗi mục, chúng tôi cũng viết một ký tự xuống dòng để mỗi dòng được chia thành một dòng mới

Cách tiếp cận ở trên cảm thấy hơi rắc rối. Chúng ta có thể đơn giản hóa quy trình này bằng cách sử dụng phương pháp

# Writing Multiple Lines to a Text File
text = ['Welcome to datagy.io!', "Let's learn some Python!"]

with open('/Users/nikpi/Desktop/textfile.txt', 'w') as f:
    for line in text:
        f.write(line)
        f.write('\n')
1, cho phép chúng ta viết nhiều dòng cùng một lúc. Hãy xem cách chúng ta có thể sửa đổi mã ở trên để sử dụng phương thức
# Writing Multiple Lines to a Text File
text = ['Welcome to datagy.io!', "Let's learn some Python!"]

with open('/Users/nikpi/Desktop/textfile.txt', 'w') as f:
    for line in text:
        f.write(line)
        f.write('\n')
1

# Writing Multiple Lines to a Text File (with .writelines)
text = ['Welcome to datagy.io', "Let's learn some Python!"]

with open('/Users/nikpi/Desktop/textfile.txt', 'w') as f:
    f.writelines('\n'.join(text))

Trong đoạn mã trên, chúng tôi tránh sử dụng vòng lặp for để ghi nhiều dòng văn bản vào một tệp. Vì văn bản của chúng tôi không được phân tách bằng các ký tự xuống dòng, nên chúng tôi sử dụng phương pháp chuỗi

# Writing Multiple Lines to a Text File
text = ['Welcome to datagy.io!', "Let's learn some Python!"]

with open('/Users/nikpi/Desktop/textfile.txt', 'w') as f:
    for line in text:
        f.write(line)
        f.write('\n')
5 để đặt từng mục vào một dòng mới

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

Trong các phần trước, bạn đã học cách viết một tệp mới có văn bản trong Python. Trong phần này, bạn sẽ tìm hiểu cách nối thêm vào một tệp văn bản đã cho bằng Python. Trước đây chúng tôi đã sử dụng chế độ ghi,

# Writing Multiple Lines to a Text File
text = ['Welcome to datagy.io!', "Let's learn some Python!"]

with open('/Users/nikpi/Desktop/textfile.txt', 'w') as f:
    for line in text:
        f.write(line)
        f.write('\n')
0 khi mở tệp – để nối thêm, chúng tôi sử dụng chế độ nối thêm,
# Writing Multiple Lines to a Text File
text = ['Welcome to datagy.io!', "Let's learn some Python!"]

with open('/Users/nikpi/Desktop/textfile.txt', 'w') as f:
    for line in text:
        f.write(line)
        f.write('\n')
7

Hãy xem cách chúng ta có thể thêm vào một tệp văn bản trong Python

# Appending to a Text File in Python
text = 'Welcome to datagy.io!\n'

with open('/Users/nikpi/Desktop/textfile.txt', 'a') as f:
    f.write(text)

Chạy cái này sẽ nối vào cuối tệp văn bản. Lưu ý rằng chúng tôi đã áp dụng ký tự xuống dòng vào chuỗi. Điều này cũng có thể được thực hiện trong trình quản lý bối cảnh, tùy thuộc vào cách bạn muốn mã của mình chạy

Tương tự, chúng ta có thể nối nhiều dòng vào một tệp bằng cách sử dụng phương thức

# Writing Multiple Lines to a Text File
text = ['Welcome to datagy.io!', "Let's learn some Python!"]

with open('/Users/nikpi/Desktop/textfile.txt', 'w') as f:
    for line in text:
        f.write(line)
        f.write('\n')
1, như hình bên dưới

________số 8

Cách viết văn bản được mã hóa UTF-8 vào một tệp bằng Python

Python sẽ mở một tệp bằng mã hóa mặc định của hệ thống. Mặc dù UTF-8 là tiêu chuẩn thực tế nhưng hệ thống của bạn có thể không mở tệp bằng định dạng mã hóa đó. Do đó, bạn có thể cần chỉ định định dạng mã hóa khi mở tệp

Hãy xem làm thế nào chúng ta có thể làm điều này

# Specifying Encoding to UTF-8
text = 'é'

with open('/Users/nikpi/Desktop/textfile.txt', 'w', encoding="utf-8") as f:
    f.write(text)

Ví dụ: chạy mã này trên macOS, không yêu cầu chỉ định mã hóa. Tuy nhiên, nếu bạn muốn mã của mình chạy nền tảng một cách độc lập, bạn nên chỉ định mã hóa

Sự kết luận

Trong hướng dẫn này, bạn đã học cách sử dụng Python để viết tệp văn bản. Lần đầu tiên bạn tìm hiểu về các cách khác nhau để ghi đè tệp bằng phương pháp

# Writing Multiple Lines to a Text File
text = ['Welcome to datagy.io!', "Let's learn some Python!"]

with open('/Users/nikpi/Desktop/textfile.txt', 'w') as f:
    for line in text:
        f.write(line)
        f.write('\n')
0 và
# Writing Multiple Lines to a Text File
text = ['Welcome to datagy.io!', "Let's learn some Python!"]

with open('/Users/nikpi/Desktop/textfile.txt', 'w') as f:
    for line in text:
        f.write(line)
        f.write('\n')
1. Bạn đã học về các sắc thái của việc chèn ký tự dòng mới. Sau đó, bạn đã học cách nối thêm vào một tệp hiện có, cả một dòng cũng như nhiều dòng. Cuối cùng, bạn đã học cách chỉ định mã hóa khi ghi tệp