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
- Mở một tệp mới
- Tách danh sách các chuỗi bằng một dòng mới
- 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 Charlie4 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 Charlie4 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 Charlie0
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 Charlie1
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 Charlie2
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 Charlie3
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