Hướng dẫn how do you write to a text file in python 3? - làm thế nào để bạn ghi vào một tệp văn bản trong python 3?

Giới thiệu

Python là một công cụ tuyệt vời để xử lý dữ liệu. Một số nhiệm vụ phổ biến nhất trong lập trình liên quan đến việc đọc, viết hoặc thao tác dữ liệu. Vì lý do này, nó đặc biệt hữu ích khi biết cách xử lý các định dạng tệp khác nhau lưu trữ các loại dữ liệu khác nhau.

Ví dụ: hãy xem xét một chương trình Python kiểm tra danh sách người dùng để kiểm soát truy cập. Danh sách người dùng của bạn có thể được lưu trữ dưới dạng tệp văn bản, cho phép bạn kiểm tra quyền truy cập hoặc sửa đổi quyền. Với Python, việc có thể mở, đọc, ghi vào và đóng các tệp sẽ giúp bạn làm việc với các tác vụ như thế này.

Hướng dẫn này sẽ mô tả ngắn gọn một số định dạng tệp Python có thể xử lý. Sau khi giới thiệu ngắn gọn về những người đó, bạn sẽ học cách mở, đọc và viết một tệp văn bản bằng Python 3. Khi bạn hoàn thành, bạn sẽ có thể xử lý bất kỳ tệp văn bản thuần túy nào trong Python.

Điều kiện tiên quyết

Đối với hướng dẫn này, bạn nên cài đặt Python 3 cũng như môi trường lập trình cục bộ được thiết lập trên máy tính của bạn. Nếu đây không phải là trường hợp, bạn có thể được thiết lập bằng cách làm theo hướng dẫn cài đặt và thiết lập phù hợp cho hệ điều hành của mình:

  • Ubuntu 22.04 hoặc Debian 8
  • Centos 7
  • Mac OS X.
  • Windows 10

Tiểu sử

Python rất linh hoạt và có thể xử lý một số định dạng tệp khác nhau một cách dễ dàng, bao gồm nhưng không giới hạn ở các mục sau:

Loại tệpSự mô tả
Văn bản thôTệp văn bản trơn lưu trữ dữ liệu chỉ đại diện cho các ký tự (hoặc chuỗi) và loại trừ bất kỳ siêu dữ liệu có cấu trúc nào
CSVCác tệp giá trị được phân tách bằng dấu phẩy sử dụng dấu phẩy (hoặc các dấu phân cách khác) để cấu trúc dữ liệu được lưu trữ, cho phép dữ liệu được lưu theo định dạng bảng
HTMLCác tệp ngôn ngữ đánh dấu siêu văn bản lưu trữ dữ liệu có cấu trúc dự định được hiển thị bởi một trình duyệt và thường được sử dụng với các trang web
JsonKý hiệu đối tượng JavaScript là một định dạng đơn giản và hiệu quả, khiến nó trở thành một trong những định dạng được sử dụng phổ biến nhất để lưu trữ và chuyển dữ liệu có cấu trúc

Hướng dẫn này sẽ tập trung vào làm việc với các tệp văn bản thuần túy.

Bước 1 - Tạo tệp văn bản

Trước khi chúng tôi có thể bắt đầu làm việc trong Python, chúng tôi cần đảm bảo rằng chúng tôi có một tệp để làm việc. Để thực hiện việc này, hãy mở trình chỉnh sửa mã của bạn và tạo một tệp văn bản đơn giản mới có tên là

days_file = open(path, 'r')
3.

Trong tệp mới, nhập một vài dòng văn bản liệt kê các ngày trong tuần:

days.txt

Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

Tiếp theo, lưu tệp của bạn và ghi chú vị trí của nó. Đối với ví dụ này, người dùng của chúng tôi Sammy, đã lưu tệp ở đây dưới dạng

days_file = open(path, 'r')
4. Điều này sẽ rất quan trọng trong các bước sau, nơi chúng tôi mở tệp trong Python.sammy, saved the file here as
days_file = open(path, 'r')
4. This will be very important in later steps, where we open the file in Python.

Bây giờ bạn có một tệp để xử lý, bạn có thể bắt đầu mã.

Bước 2 - Mở tệp

Trong trình soạn thảo mã của bạn, hãy tạo một tệp Python mới và đặt tên cho nó

days_file = open(path, 'r')
5.

Để mở một tệp trong Python, trước tiên chúng tôi cần một số cách để liên kết tệp trên đĩa với một biến trong Python. Quá trình này được gọi là mở một tệp và biến được gọi là xử lý tệp. Chúng tôi bắt đầu bằng cách nói với Python nơi tập tin. Vị trí của tệp của bạn thường được gọi là đường dẫn tệp -

days_file = open(path, 'r')
4 trong ví dụ này. Tạo một biến để lưu trữ thông tin đường dẫn này.

files.py

path = '/home/sammy/days.txt'

Bây giờ, bạn có thể sử dụng chức năng Python từ ____27 để mở tệp

days_file = open(path, 'r')
3 của chúng tôi. Hàm
days_file = open(path, 'r')
7 yêu cầu đường dẫn tệp là đối số đầu tiên của nó. Các chức năng cũng chấp nhận nhiều tham số khác. Tuy nhiên, quan trọng nhất là tham số
days_file.read()
0 tùy chọn. Đây là một chuỗi tùy chọn chỉ định chế độ mà tệp được mở. Chế độ bạn chọn sẽ phụ thuộc vào những gì bạn muốn làm với tệp. Dưới đây là một số chế độ có sẵn:

  • days_file.read()
    
    1: Sử dụng để đọc từ một tệp
  • days_file.read()
    
    2: Sử dụng để ghi vào tệp
  • days_file.read()
    
    3: Sử dụng để nối vào tệp
  • days_file.read()
    
    4: Sử dụng để đọc và ghi vào cùng một tệp

Trong ví dụ này, chúng tôi chỉ muốn đọc từ tệp, vì vậy chúng tôi sẽ sử dụng chế độ

days_file.read()
1. Sử dụng chức năng
days_file = open(path, 'r')
7 để mở tệp
days_file = open(path, 'r')
3 và gán xử lý tệp kết quả cho biến
days_file.read()
8.

files.py

days_file = open(path, 'r')

Bây giờ bạn đã mở tập tin, bước tiếp theo sẽ hướng dẫn bạn đọc nội dung của nó.

Bước 3 - Đọc một tệp

Vì tệp của chúng tôi đã được mở, giờ đây chúng tôi có thể thao tác nó (tức là đọc từ nó) thông qua biến mà nó được gán cho. Python cung cấp ba hoạt động liên quan để đọc thông tin từ một tệp. Hãy để một chút thời gian để hiểu làm thế nào mỗi người trong số họ hoạt động.

Sử dụng days_file.read() 9

Hoạt động đầu tiên

Output

'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n'
0 trả về toàn bộ nội dung của tệp dưới dạng một chuỗi. Ví dụ:

days_file.read()

Kết quả sẽ là:

Output

'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n'

Lưu ý:

Output

'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n'
1 trong chuỗi trên đại diện cho một ký tự dòng mới. Khi tương tác trực tiếp với Python (như bạn có thể chỉ cần chạy

Output

'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n'
2 từ dòng lệnh), nó sẽ sử dụng

Output

'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n'
1 để hiển thị Newlines. Bạn cũng có thể sử dụng nó để thể hiện một dòng mới khi bạn đang tạo các chuỗi của riêng bạn.
The

Output

'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n'
1 in the above string represents a newline character. When interacting directly with Python (as you might when simply running

Output

'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n'
2 from the command line), it will use

Output

'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n'
1 to show newlines. You can also use it to represent a new line when you are creating strings of your own.

Sử dụng Output'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n' 4

Hoạt động thứ hai

Output

'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n'
5 trả về dòng tiếp theo của tệp, trả lại văn bản lên và bao gồm ký tự dòng tiếp theo. Nói một cách đơn giản hơn, thao tác này sẽ đọc từng dòng tệp.

days_file.readline()

Kết quả sẽ là:

Output

'Monday\n'

Khi bạn đọc một dòng với hoạt động

Output

'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n'
4, điểm hiện tại mà tệp sẽ được đọc sẽ chuyển sang dòng tiếp theo. Nếu bạn gọi lại thao tác này, nó sẽ trả lại dòng tiếp theo trong tệp như vậy:

days_file.readline()

Output

'Tuesday\n'

Sử dụng Output'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n' 7

Hoạt động cuối cùng,

Output

'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n'
8 trả về một danh sách các dòng trong tệp, trong đó mỗi mục của danh sách đại diện cho một dòng duy nhất.

days_file.readlines()
path = '/home/sammy/days.txt'
0

Một cái gì đó cần lưu ý khi bạn đang đọc từ các tệp, một khi một tệp đã được đọc bằng một trong các hoạt động đọc, nó không thể được đọc lại. Ví dụ: nếu bạn lần đầu tiên chạy

Output

'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n'
9, sau đó là
days_file.readline()
0, thao tác thứ hai sẽ trả về một chuỗi trống. Do đó, bất cứ lúc nào bạn muốn đọc từ một tệp, trước tiên bạn sẽ phải mở một biến tệp mới hoặc sử dụng phương thức
days_file.readline()
1, nằm ngoài phạm vi của hướng dẫn này. Nếu bạn muốn tìm hiểu thêm, Python có tài liệu tuyệt vời về các phương pháp này.

Bây giờ chúng tôi đã đọc từ một tệp, hãy để tìm hiểu cách ghi vào một tệp mới.

Bước 4 - Viết tệp

Trong bước này, bạn sẽ viết một tệp mới bao gồm các ngày tiêu đề trong tuần, sau đó là nội dung của tệp đầu tiên. Đầu tiên, tạo một biến

days_file.readline()
2.

files.py

path = '/home/sammy/days.txt'
1

Bạn cũng sẽ cần lưu trữ các ngày trong tuần trong một biến mà chúng tôi sẽ gọi là

days_file.readline()
3. Mã này mở tệp ở chế độ đọc, đọc tệp và lưu trữ đầu ra được trả về từ hoạt động đọc trong biến mới của chúng tôi
days_file.readline()
3. Để làm cho nó dễ dàng hơn, mã từ bước 2 được bao gồm.Step 2 is included.

files.py

path = '/home/sammy/days.txt'
2

Bây giờ bạn có các biến cho tiêu đề và ngày trong tuần, bạn có thể bắt đầu viết vào tệp mới của mình. Đầu tiên, chỉ định vị trí của tệp. Một lần nữa, chúng tôi sẽ sử dụng thư mục

days_file.readline()
5, vì vậy đường dẫn của chúng tôi sẽ là
days_file.readline()
6. Sau đó, bạn có thể mở tệp mới ở chế độ ghi, sử dụng hàm
days_file = open(path, 'r')
7 với chế độ
days_file.read()
2 được chỉ định.

files.py

path = '/home/sammy/days.txt'
3

Lưu ý: Điều quan trọng cần lưu ý là, nếu

days_file.readline()
9 đã tồn tại trước khi mở tệp, nội dung cũ của nó sẽ bị ghi đè, vì vậy hãy cẩn thận khi sử dụng chế độ
days_file.read()
2!
It’s important to note that, if
days_file.readline()
9 already exists before opening the file, its old contents will be overwritten, so be careful when using the
days_file.read()
2 mode!

Khi tệp mới được mở, bạn có thể thêm dữ liệu bằng phương thức

Output

'Monday\n'
1. Phương thức này lấy một tham số chuỗi duy nhất và ghi dữ liệu đó vào tệp. Nếu bạn muốn bắt đầu một dòng mới trong tệp, bạn phải cung cấp một cách rõ ràng ký tự dòng mới,

Output

'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n'
1, được bao gồm khi bạn gán

Output

'Monday\n'
3 cho biến
days_file.readline()
2.

Viết tiêu đề vào tập tin theo sau là những ngày trong tuần. Nó có thể hữu ích thêm vào một số câu

Output

'Monday\n'
5 về những gì chúng tôi đang viết vào tệp, thường được sử dụng để theo dõi tiến trình của tập lệnh của bạn.

files.py

path = '/home/sammy/days.txt'
4

Cuối cùng, bất cứ khi nào bạn kết thúc với một tập tin, điều quan trọng là phải đóng nó.

Bước 5 - Đóng tệp

Đóng một tệp đảm bảo rằng kết nối giữa tệp trên đĩa và xử lý tệp đã hoàn tất. Đóng các tệp cũng đảm bảo rằng các chương trình khác có thể truy cập chúng và giữ cho dữ liệu của bạn an toàn. Nếu bạn không sử dụng các câu lệnh

Output

'Monday\n'
6 như được mô tả trong Bước 6, hãy luôn đảm bảo đóng các tệp của bạn. Đối với ví dụ này, hãy đóng tất cả các tệp của chúng tôi bằng phương thức

Output

'Monday\n'
7.Step 6, always make sure to close your files. For this example, close all our files using the

Output

'Monday\n'
7 method.

files.py

path = '/home/sammy/days.txt'
5

Bây giờ tập lệnh đã hoàn tất bằng cách sử dụng các tệp, nó đã giải phóng tay cầm tệp bằng phương thức

Output

'Monday\n'
7.

Bước 6 - Sử dụng các câu lệnh Output'Monday\n' 6 (tùy chọn)

Cách được đề xuất để làm việc với các tệp trong Python (thường được gọi là cách Pythonic) là sử dụng một tính năng của ngôn ngữ gọi là câu lệnh

Output

'Monday\n'
6. Những tuyên bố này là cách viết tốc ký để thiết lập một bối cảnh trong đó công việc được thực hiện và, một khi bối cảnh đó kết thúc, các chi tiết cuối cùng sẽ tự động được chăm sóc để ngăn chặn các lỗi phổ biến. Trong trường hợp làm việc với các tệp, câu lệnh

Output

'Monday\n'
6 sẽ tự động đóng tệp để bạn không có xử lý tệp đó kéo dài khi bạn hoàn thành nhiệm vụ của mình.Pythonic way) is to use a feature of the language called

Output

'Monday\n'
6 statements. These statements are shorthand ways to set up a context in which work is done and, once that context is over, final details are automatically taken care of in order to prevent common errors. In the case of working with files, a

Output

'Monday\n'
6 statement will automatically close the file so that you don’t have those file handles lingering once you are finished with your task.

Như với bất kỳ khối nào trong Python, chẳng hạn như các định nghĩa chức năng, các câu lệnh

days_file.readline()
2 hoặc vòng lặp, các câu lệnh

Output

'Monday\n'
6 có dạng một câu lệnh đơn giản theo sau là
days_file.readline()
4 và một khối mã thụt. Dưới đây là một ví dụ về mã mở tệp và in nội dung của nó:

path = '/home/sammy/days.txt'
6

Hãy cùng bước đi qua những gì mã này làm từng bước một. Như trước đây, chúng tôi mở tệp bằng hàm Python, tích hợp

days_file = open(path, 'r')
7, chuyển các tham số đường dẫn và chế độ tệp. Tuy nhiên, vì chúng tôi đang sử dụng câu lệnh

Output

'Monday\n'
6, thay vì gán xử lý tệp kết quả cho một biến bằng cách sử dụng
days_file.readline()
7, chúng tôi gán nó bằng từ khóa
days_file.readline()
8. Đây là một phần của câu lệnh

Output

'Monday\n'
6 đầy đủ về cú pháp:

path = '/home/sammy/days.txt'
7

Sau

days_file.readline()
4, chúng tôi chuyển sang dòng tiếp theo và thụt mã mã của chúng tôi, đó là cách Python tổ chức các khối chức năng. Như trước đây, chúng tôi có quyền truy cập vào xử lý tệp trong biến
days_file.read()
8, vì vậy chúng tôi có thể gọi phương thức

Output

'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n'
0 để có được tất cả các nội dung và

Output

'Tuesday\n'
3 chúng.

Lưu ý làm thế nào không có phương thức

Output

'Monday\n'
7 được gọi là, tuy nhiên. Điều này là do ngay khi mã rời khỏi khối này (nghĩa là, ngay khi dòng mã tiếp theo không được thụt vào hoặc tệp kết thúc), câu lệnh

Output

'Monday\n'
6 Bối cảnh Bối cảnh biết tự động đóng các tệp đó. Những lợi ích cho điều này không chỉ là bạn không cần nhớ đóng các tệp của mình mỗi lần, mà còn tất cả logic của bạn để xử lý tệp đó đặc biệt là khác biệt về mặt trực quan và logic trong khối đó. Cấu trúc này giúp giữ cho mã của bạn sạch sẽ và có thể đọc được.

Với suy nghĩ này, hãy để viết lại mẫu mã của chúng tôi trước khi sử dụng câu lệnh

Output

'Monday\n'
6:

files.py

path = '/home/sammy/days.txt'
8

Bây giờ mã được tổ chức nhiều hơn nhiều. Chúng tôi bắt đầu như trước bằng cách xác định một số biến: đường dẫn của hai tệp của chúng tôi và tiêu đề mà chúng tôi sẽ sử dụng để tìm thấy tệp mới. Sau đó, chúng tôi bắt đầu câu lệnh

Output

'Monday\n'
6 của chúng tôi, mở hai tệp của chúng tôi và lưu trữ các kết nối của chúng theo các biến được đặt tên phù hợp. Như trước đây, chúng tôi đọc nội dung của
days_file.read()
8, sau đó viết tiêu đề và những nội dung đó thành

Output

'Tuesday\n'
9. Cuối cùng, chúng tôi kết thúc khối bằng cách khử mã mã của chúng tôi để in các giá trị của
days_file.readline()
2 và
days_file.readline()
3 mà chúng tôi đọc.

Lưu ý: Không giống như một số khối khác trong Python, các biến được xác định trong các khối

Output

'Monday\n'
6 có sẵn bên ngoài phạm vi đó. Unlike some other blocks in Python, variables defined within

Output

'Monday\n'
6 blocks are available outside of that scope.

Mặc dù có một số trường hợp bạn sẽ muốn sử dụng phương thức

Output

'Monday\n'
7 như được mô tả trước đó và điều quan trọng là phải biết nó hoạt động như thế nào, bạn sẽ sử dụng các câu lệnh

Output

'Monday\n'
6 phổ biến nhất khi làm việc với các tệp trong Python.

Bước 7 - Kiểm tra mã của chúng tôi

Trước khi bạn chạy mã của mình, đó là một ý tưởng tốt để đảm bảo mọi thứ có vẻ chính xác. Sản phẩm cuối cùng phải là một cái gì đó như thế này:

files.py

path = '/home/sammy/days.txt'
9

Sau khi lưu mã của bạn, hãy mở thiết bị đầu cuối và chạy tập lệnh Python của bạn, như vậy:

days_file = open(path, 'r')
0

Đầu ra sẽ như sau:

days_file = open(path, 'r')
1

Bây giờ, hãy kiểm tra kỹ mã hoạt động đầy đủ bằng cách mở tệp mới (

days_file.readline()
9). Nếu mọi việc suôn sẻ, nó sẽ chứa điều này:

new_days.txt

days_file = open(path, 'r')
2

Sự kết luận

Trong hướng dẫn này, chúng tôi đã trải qua cách xử lý và thao tác các tệp văn bản thuần túy trong Python 3. Bây giờ bạn có thể mở, đọc, viết và đóng các tệp trong Python và bạn có thể tiếp tục làm việc với dữ liệu của riêng mình bằng Python. Python cung cấp nhiều phương pháp hữu ích khác khi làm việc với đầu vào và đầu ra, và cũng cung cấp tài liệu để tìm hiểu thêm.

Làm thế nào để bạn nhập văn bản vào một tệp trong Python?

Để đọc một tệp văn bản trong Python, bạn làm theo các bước sau: Đầu tiên, hãy mở một tệp văn bản để đọc bằng cách sử dụng hàm Open (). Thứ hai, đọc văn bản từ tệp văn bản bằng cách sử dụng phương thức read (), readline () hoặc readlines () của đối tượng tệp. ... 1) Hàm mở () ..

Làm thế nào để bạn viết dữ liệu vào một tệp văn bản?

Hàm write () được sử dụng để viết chuỗi trong tệp văn bản và hàm writeLines () được sử dụng để viết danh sách chuỗi trong tệp cùng một lúc.Hàm writeLines () cũng có thể chấp nhận đối tượng có thể lặp lại.Người dùng cũng có thể vượt qua bộ dữ liệu của chuỗi, tập hợp các chuỗi, v.v.

Làm thế nào để bạn viết vào một dòng văn bản trong Python?

Python cung cấp cho chúng tôi hai phương thức để ghi vào các tệp văn bản: write () phương thức để chèn một chuỗi vào một dòng trong một tệp văn bản.Phương thức WriteLines () để chèn nhiều chuỗi từ danh sách các chuỗi vào tệp văn bản cùng một lúc.write() method for inserting a string to a single line in a text file. writelines() method for inserting multiple strings from a list of strings to the text file simultaneously.

Viết gì cho một tập tin trong Python?

Viết vào các tệp trong Python Viết một chuỗi hoặc chuỗi byte (cho các tệp nhị phân) được thực hiện bằng phương thức write ().Phương thức này trả về số lượng ký tự được ghi vào tệp.Chương trình này sẽ tạo một tệp mới có tên Test.txt trong thư mục hiện tại nếu nó không tồn tại.Nếu nó tồn tại, nó được ghi đè.Writing a string or sequence of bytes (for binary files) is done using the write() method. This method returns the number of characters written to the file. This program will create a new file named test.txt in the current directory if it does not exist. If it does exist, it is overwritten.