Làm cách nào để bạn tạo đầu vào từ tệp văn bản trong python?

Cho đến nay trong loạt bài giới thiệu về ngôn ngữ lập trình Python này, chúng ta đã học được một số thủ thuật Python cơ bản khá thú vị. Chúng tôi đã tìm hiểu điều gì làm cho ngôn ngữ này trở nên đặc biệt, tìm hiểu về bảng điều khiển Python và các biến được sử dụng cũng như cách chấp nhận đầu vào từ người dùng

Với kiến ​​thức đó, chúng tôi đã tạo ra một vài chương trình nhỏ thú vị minh họa cách các tính năng này hoạt động trong Python, nhưng bản thân các ứng dụng không làm được gì nhiều ngoài việc chứng minh với bạn bè và gia đình của bạn rằng bạn có thể học một ngôn ngữ lập trình

Lần này, chúng ta sẽ tạo một chương trình sử dụng phần lớn những gì chúng ta đã học, thêm một số bit mới và kết hợp tất cả lại với nhau để tạo một chương trình có thể lấy thông tin đầu vào từ người dùng và lưu nó vào một tệp. Điều này có thể hữu ích nếu bạn muốn theo dõi danh sách mọi thứ nhưng không phải lúc nào cũng muốn mở tệp để làm như vậy. Ngoài ra, đó là một thủ thuật quan trọng khi bạn làm công việc Python nâng cao hơn. Vì vậy, điều này tương tự như Đại số ở trường trung học… bạn sẽ sử dụng nó sau này trong cuộc sống

Đúng?

Khỏe

Dù sao đi nữa, hãy tiếp tục với chương trình

Một lần nữa, tôi sẽ trình diễn quy trình này trên Linux. Tuy nhiên, nó sẽ hoạt động trên mọi hệ điều hành hỗ trợ Python. Tuy nhiên, nếu bạn đang làm việc trên một hệ điều hành khác, bạn có thể phải điều chỉnh ở đây hoặc ở đó nếu mọi thứ không diễn ra như mong đợi [mặc dù chúng nên như vậy]

Ghi vào một tập tin

Chúng ta sẽ thực hiện từng bước một. Điều đầu tiên bạn cần học là cách ghi dữ liệu vào một tệp. Để làm điều này, chúng ta phải mở một tệp [từ bên trong Python] ở chế độ được gọi là chế độ truy cập. Có ba chế độ khác nhau cho việc này

  • Chỉ ghi [w] – mở tệp để ghi
  • Viết và Đọc [w+] – mở tệp cho cả viết và đọc
  • Append Only [a] – mở tệp để ghi. Nếu tệp không tồn tại, nó được tạo

Chúng tôi sẽ tập trung vào các chế độ ghi và nối thêm. Đầu tiên, chế độ ghi. Để làm điều này, chúng ta sử dụng hàm open[]. Giả sử chúng ta muốn viết “Xin chào, Ngăn xếp mới” vào một tệp có tên là văn bản. txt. Đầu tiên, tạo tệp với

touch text.txt

Bây giờ tập tin đó có thể được ghi vào với chế độ chỉ ghi

Tạo tập lệnh python mới với

nano write.py

Điều đầu tiên chúng tôi thêm vào tệp là dòng cho biết chúng tôi đang mở văn bản. txt ở chế độ chỉ ghi. Dòng đó sẽ trông như thế này

file1 = open['text.txt', 'w']

Hãy nhớ các biến là gì? . txt ở chế độ ghi. Sau đó, chúng ta có thể sử dụng biến đó trong hai dòng tiếp theo của tệp

Dòng thứ hai viết chuỗi Hello, New Stack. vào tập tin và trông như thế này

file1.write["Hello, New Stack!"]

Dòng trên sử dụng cùng một biến [file1], với một hàm mới [write[]] để ghi chuỗi vào tệp. Dòng cuối cùng sẽ đóng tệp và trông như thế này

file1.close[]

Vì vậy, kịch bản hoàn chỉnh của chúng tôi trông như thế này

#Mở văn bản. txt ở chế độ ghi

file1 = open['văn bản. txt', 'w']

# Viết chuỗi "Xin chào, Ngăn xếp mới. " vào tập tin

tập tin1. write["Xin chào, ngăn xếp mới. "]


Hãy nhớ rằng, mọi thứ bắt đầu bằng ký tự # đều là nhận xét. Chúng tôi nhận xét mọi thứ để chúng tôi biết điều gì đang xảy ra trong mã

lưu và đóng tập tin. Chạy tập lệnh với

python3 write.py

Nếu bạn xem nội dung của văn bản. txt, bạn sẽ thấy nó chứa dòng Hello, New Stack ở trên cùng. Nếu bạn chạy lại, tập lệnh sẽ thay thế “Xin chào, Ngăn xếp mới” bằng “Xin chào, Ngăn xếp mới. ” ở trên cùng. Nói cách khác, tập lệnh của chúng tôi chỉ ghi đè lên dòng đầu tiên trong văn bản. tập tin txt

Đó là tất cả tốt và tốt, nhưng trừ khi bạn chỉ cần lưu một dòng văn bản, nó không thực tế lắm. Đó là nơi mà chế độ Append Only có ích. Vì vậy, hãy thực hiện một thay đổi nhỏ. Thay vì mở tệp1 ở chế độ Chỉ ghi, chúng tôi sẽ mở nó ở chế độ Nối. Kịch bản đó trông gần giống với kịch bản đầu tiên

#Mở văn bản. txt ở chế độ ghi

file1 = open['văn bản. txt', 'a']

# Viết chuỗi "Xin chào, Ngăn xếp mới. " vào tập tin

tập tin1. write["Xin chào, ngăn xếp mới. "]


Phát hiện sự khác biệt?

Bây giờ, nếu bạn chạy ghi python3. lệnh py nó sẽ nối thêm Hello, New Stack. đến cuối dòng đầu tiên. Chạy nó một vài lần và bạn sẽ nhận được một tệp giống như thế này

Xin chào, ngăn xếp mới. Xin chào, ngăn xếp mới. Xin chào, ngăn xếp mới. Xin chào, ngăn xếp mới


Tốt hơn, nhưng vẫn không lý tưởng. Những gì chúng tôi muốn làm là tạo một tập lệnh sẽ nối thêm dòng mới vào dòng trước đó. Để làm điều đó, chúng tôi thêm một lối thoát dòng mới là \n. Vì vậy, bây giờ hàm write[] của chúng ta sẽ trông như thế này

touch text.txt0

Nếu bạn chạy tập lệnh với hàm write[] đó một vài lần, nội dung của văn bản. txt sẽ trông như thế này


Bây giờ, hãy biến ứng dụng này thành một ứng dụng thực tế sẽ chấp nhận đầu vào từ người dùng và ghi đầu vào vào một tệp. Hãy nhớ rằng, từ hướng dẫn trước của chúng tôi, phần này

print["Tên của bạn là gì?"]

print["Họ của bạn là gì?"]


Chúng tôi sẽ sử dụng lại nó để hỏi người dùng họ và tên của họ. Tất nhiên, để định dạng đúng, chúng ta cần sử dụng một vài thủ thuật

Chúng tôi đã xác định các biến của mình cho tên [input1] và họ [input2]. Bây giờ chúng ta phải ghi chúng vào tệp ở chế độ nối thêm với dòng

touch text.txt1

Tiếp theo, chúng tôi viết nội dung của các biến [theo cách nhập của người dùng] và định dạng nó sao cho có khoảng cách giữa họ và tên và một dòng mới trả về sau họ. Nếu chúng tôi không thêm các tùy chọn định dạng đó, tệp văn bản của chúng tôi sẽ giống như

JackWallenOliviaChim sơn caWilJackson


Chúng tôi không muốn điều đó. Những gì chúng tôi muốn là


Vì vậy, phần đó trông như thế này


Như bạn có thể thấy, chúng tôi đã thêm khoảng cách giữa các tên với touch text.txt2 và dòng mới trả về với touch text.txt3

Toàn bộ kịch bản của chúng tôi bây giờ trông giống như

#Lấy đầu vào từ người dùng và gán nó cho các biến

print["Tên của bạn là gì?"]

print["Họ của bạn là gì?"]

#Mở văn bản. txt để nối thêm

file1 = open['văn bản. txt', 'a']

#Ghi nội dung của các biến vào văn bản. tập tin txt


Bây giờ, khi chúng tôi chạy touch text.txt4 một vài lần [nhập các tên khác nhau], tập lệnh sẽ ghi vào tệp chính xác theo cách chúng tôi muốn

Và ở đó bạn đi. Bạn đã tạo một ứng dụng Python đơn giản nhận đầu vào của người dùng và ghi nó vào một tệp. Hãy sáng tạo với điều này và xem bạn có thể áp dụng điều này vào bao nhiêu trường hợp sử dụng

Chủ Đề