Làm cách nào để bạn viết danh sách các phần tử trong tệp txt trong python?

Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách ghi dữ liệu có trong danh sách vào tệp văn bản bằng python

Giả sử chúng tôi đã lấy một danh sách và viết tất cả các thành phần của danh sách vào một tệp văn bản có nội dung "ListDataFile. txt" có dữ liệu sau sau khi ghi vào đó

Giả sử rằng chúng ta có danh sách sau trong một tệp văn bản -

inputList = ['This', 'is', 'a', 'TutorialsPoint', 'sample', 'file']

chúng ta sẽ nhận được kết quả sau của chuỗi trên với chương trình này -

This
is
a
TutorialsPoint
sample
file

Thuật toán (Các bước)

Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn -

  • Tạo một biến để lưu trữ danh sách các phần tử

  • Tạo một biến để lưu đường dẫn của tệp văn bản

  • Sử dụng hàm open()(mở một tệp và kết quả là trả về một đối tượng tệp) để mở tệp văn bản ở chế độ chỉ đọc bằng cách chuyển tên tệp và chế độ làm đối số cho nó (Ở đây “w” biểu thị chế độ ghi)

with open(inputFile, 'w') as filedata:
  • Duyệt qua từng phần tử của danh sách đầu vào bằng vòng lặp for

  • Viết từng phần tử của danh sách (giá trị lặp) vào tệp văn bản đã mở bằng hàm write() (ghi một văn bản đã chỉ định vào tệp. Văn bản được cung cấp sẽ được chèn vào tùy thuộc vào chế độ tệp và vị trí luồng)

  • Duyệt qua từng dòng của tệp bằng vòng lặp for

  • Đóng tệp đầu vào bằng hàm close() (dùng để đóng tệp đã mở)

  • Sử dụng hàm open()(mở một tệp và kết quả là trả về một đối tượng tệp) để mở tệp văn bản ở chế độ chỉ đọc bằng cách chuyển tên tệp và chế độ làm đối số cho nó (Ở đây “r” biểu thị chỉ đọc

with open(inputFile, 'r') as filedata:
  • In nội dung của tệp văn bản sau khi đọc dữ liệu tệp bằng hàm read() (đọc số byte đã chỉ định từ tệp và trả về chúng. Giá trị mặc định là -1, có nghĩa là toàn bộ tệp)

Ví dụ

Chương trình sau đây duyệt qua các dòng của tệp văn bản và in tần suất của cặp khóa-giá trị từ tệp văn bản bằng cách sử dụng hàm truy cập từ mô-đun bộ sưu tập –

# input list inputList = ['This', 'is', 'a', 'TutorialsPoint', 'sample', 'file'] # input text file inputFile = "ListDataFile.txt" # Opening the given file in write mode with open(inputFile, 'w') as filedata: # Traverse in each element of the input list for item in inputList: # Writing each element of the list into the file # Here “%s\n” % syntax is used to move to the next line after adding an item to the file. filedata.write("%s\n" % item) # Closing the input file filedata.close() # Opening the output text file in read-only mode fileData = open("ListDataFile.txt") # Reading the file and printing the result print(fileData.read())

đầu ra

Khi thực thi, chương trình trên sẽ tạo đầu ra sau -

This
is
a
TutorialsPoint
sample
file

Chúng tôi đọc danh sách các từ trong chương trình này, sau đó lấy một tệp và mở nó ở chế độ ghi. Sau đó, sử dụng một vòng lặp, chúng tôi duyệt qua danh sách cho từng từ và thêm từ đó vào tệp bằng hàm write(). Chúng tôi đã sử dụng ký tự xuống dòng (\n) để phân tách các từ của tệp. Sau đó ta đóng file và mở lại ở chế độ đọc, in ra toàn bộ dữ liệu của file (Ở đây dữ liệu sẽ là các từ của danh sách)

Chúng ta đã học cách mở một tệp ở chế độ ghi và ghi dữ liệu vào đó, cũng như cách duyệt qua danh sách các từ và sao chép các mục đó vào tệp, từ bài viết này. Cách mở lại tệp để đọc nội dung của tệp (Điều này được sử dụng để kiểm tra xem các từ có được thêm vào tệp hay không)

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ụ

________số 8_______

Kết quả, bạn thấy một tệp văn bản có tên là example.txt 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 phương thức

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à example.txt 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

Phần 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ã