Viết chương trình Python để ghi danh sách vào một tệp

Trong Python, danh sách là kiểu dữ liệu phổ biến để lưu trữ nhiều giá trị ở cùng một nơi để dễ dàng truy cập. Các giá trị này có thể là số, chuỗi hoặc đối tượng

Đôi khi, thật hữu ích khi ghi nội dung của danh sách vào một tệp bên ngoài

Để viết một danh sách Python vào một tệp

  1. Mở một tệp mới
  2. Tách danh sách các chuỗi bằng một dòng mới
  3. Thêm kết quả vào tệp văn bản

Đây là một mã ví dụ cho thấy làm thế nào để làm điều đó

names = ["Alice", "Bob", "Charlie"]

with open("example.txt", mode="w") as file:
    file.write("\n".join(names))

Kết quả là bạn sẽ thấy một tệp văn bản với các tên được phân tách bằng dấu ngắt dòng

Alice
Bob
Charlie

Rõ ràng, đây chỉ là một cách tiếp cận. Nếu bạn chưa hài lòng với nó, hãy xem các ví dụ khác bên dưới

Viết danh sách vào tệp nguyên trạng

Bạn không thể trực tiếp viết một danh sách vào một tập tin. Nhưng bạn có thể chuyển đổi danh sách thành một chuỗi, rồi viết nó

Ví dụ

names = ["Alice", "Bob", "Charlie"]

with open("example.txt", mode="w") as file:
    file.write(str(names))

Kết quả bạn thấy 1 file text có tên là

Alice
Bob
Charlie
4 với nội dung như sau

['Alice', 'Bob', 'Charlie']

Viết danh sách vào tệp được phân tách bằng dấu phẩy mà không có dấu ngoặc

Để viết một danh sách vào một tệp văn bản với các giá trị được phân tách bằng dấu phẩy không có dấu ngoặc, hãy sử dụng chuỗi. phương thức tham gia ()

Ví dụ

names = ["Alice", "Bob", "Charlie"]

with open("example.txt", mode="w") as file:
    file.write(", ".join(names))
Kết quả, bạn thấy một tệp văn bản tên là
Alice
Bob
Charlie
4 với nội dung như sau.
Alice, Bob, Charlie

Viết danh sách Python vào tệp được phân định bằng tab

Đôi khi, bạn có thể muốn ghi nội dung danh sách vào một tệp bên ngoài bằng cách sử dụng các tab làm dấu phân cách giữa các giá trị

Để làm điều này, bạn cần sử dụng chuỗi. join() để nối các thành phần danh sách bằng cách sử dụng tab làm dấu phân cách

Ví dụ

names = ["Alice", "Bob", "Charlie"]

with open("example.txt", mode="w") as file:
    file.write("\t".join(names))

Kết quả là một tệp có tên ví dụ. txt với các nội dung sau được phân tách bằng tab

Alice	Bob	Charlie

Sự kết luận

Hôm nay bạn đã học cách viết một danh sách vào một tệp bằng Python

Tóm lại, tất cả những gì bạn cần làm là mở một tệp, tách các chuỗi và ghi chúng vào tệp. Tất cả điều này xảy ra bằng cách sử dụng các phương thức gốc trong Python trong một vài dòng mã

Trong mẹo viết kịch bản trước đó, tôi đã chỉ cho bạn cách thực thi các lệnh Shell trong Python. Trong hướng dẫn nhanh này, tôi sẽ chỉ cho bạn một số cách để ghi danh sách vào tệp trong Python

Viết một danh sách vào một tệp bằng Python

Trên thực tế, các phương pháp tôi sẽ thảo luận ở đây được sử dụng để ghi văn bản vào một tệp trong Python. Các ví dụ tôi đang sử dụng ở đây thảo luận về việc viết danh sách vào tệp nhưng bạn có thể sử dụng nó để viết bất kỳ loại văn bản nào. chuỗi vv bằng cách sử dụng các chức năng được đề cập ở đây

Phương pháp 1. Viết danh sách vào một tệp theo từng dòng trong Python bằng cách sử dụng in

Lệnh in trong Python có thể được sử dụng để in nội dung của danh sách ra tệp. Các phần tử danh sách sẽ được thêm vào một dòng mới trong tệp đầu ra

Đây là một chương trình Python mẫu để bạn tham khảo

________số 8

đầu ra tập tin. txt được mở ở chế độ viết. Vòng lặp for trong python lặp tại từng phần tử trong danh sách. Các lệnh in ghi phần tử vào tệp đã mở

Nếu bạn sử dụng lệnh cat để hiển thị nội dung của tệp đầu ra, nó sẽ là thế này

New York
London
Paris
New Delhi

Như bạn có thể thấy, các thành phần danh sách đã được viết từng dòng trong tệp đầu ra

Trong các ví dụ, tệp đã được mở ở chế độ ghi với tùy chọn 'w'. Tất cả nội dung trước đó của tệp trong chế độ này sẽ bị ghi đè

Nếu bạn muốn lưu nội dung trước đó của tệp, bạn có thể mở tệp ở chế độ chắp thêm bằng cách sử dụng tùy chọn 'a' thay vì 'w'

Phương pháp 2. Ghi danh sách vào tệp bằng hàm Write trong Python

Bây giờ hãy xem một cách khác để lưu danh sách vào tệp trong Python. Chúng ta sẽ sử dụng hàm Write()

Hàm write() lấy chuỗi làm đối số. Vì vậy, chúng tôi sẽ sử dụng lại vòng lặp for để lặp lại từng phần tử trong danh sách và ghi nó vào tệp

Đây là một chương trình Python mẫu

Alice
Bob
Charlie
0

Lưu ý rằng các phần tử trong danh sách không có ký tự xuống dòng mới. Đây là lý do tại sao tôi đã thêm ký tự dòng mới '\n' sau mỗi lần lặp lại để các phần tử danh sách được ghi vào tệp theo từng dòng. Nếu bạn không làm điều đó, bạn sẽ thấy tất cả nội dung danh sách trong một dòng

Phương pháp 3. Viết tất cả các dòng vào một tệp cùng một lúc bằng hàm writelines()

Hai phương pháp khác mà chúng tôi đã thấy đã ghi nội dung của danh sách vào tệp theo kiểu từng dòng. phương thức writelines() khác. Phương thức này lấy một danh sách làm đầu vào và ghi danh sách đó vào tệp đã mở

Đây là một chương trình đơn giản

Alice
Bob
Charlie
1

Nếu bạn sử dụng một lệnh để xem tệp trong dòng lệnh của Linux, đây là những gì bạn sẽ thấy ở đầu ra

Alice
Bob
Charlie
2

Nó không phải là đầu ra đẹp nhất, tôi chấp nhận. Nhưng đó là nội dung chính xác của danh sách

Nếu bạn muốn in từng dòng văn bản vào tệp bằng chức năng writelines, bạn vẫn có thể làm điều đó nhưng bạn sẽ phải sử dụng nhiều nỗ lực hơn

Những gì bạn có thể làm ở đây là sửa đổi chính danh sách đó và thêm ký tự xuống dòng sau mỗi phần tử. Và bây giờ nếu bạn in danh sách bằng cách sử dụng writelines(), bạn sẽ có đầu ra theo kiểu từng dòng

Đây là chương trình mẫu cho điều đó

Alice
Bob
Charlie
3

Tôi hy vọng mẹo nhỏ nhanh này đã giúp bạn viết một danh sách vào tệp bằng Python. Nếu bạn sử dụng một số cách khác, hãy chia sẻ nó với chúng tôi. Nếu hướng dẫn giúp ích cho bạn, vui lòng cho tôi biết bằng cách để lại nhận xét bên dưới

Tôi có thể ghi vào tệp bằng Python không?

Python cung cấp cho chúng ta hai phương thức để ghi vào tệp văn bản. phương thức write() để chèn một chuỗi vào một dòng trong tệp văn bản. phương thức writelines() để chèn đồng thời nhiều chuỗi từ danh sách các chuỗi vào tệp văn bản .

Hàm nào được sử dụng để viết danh sách chuỗi trong tệp bằng Python?

writelines() . Theo cú pháp, danh sách các chuỗi được chuyển đến hàm writelines() được ghi vào tệp đã mở.