Hướng dẫn how to save user input in python - cách lưu dữ liệu nhập của người dùng trong python

Cách viết và nối vào các tệp trong Python.

Hướng dẫn how to save user input in python - cách lưu dữ liệu nhập của người dùng trong python

Cho đến nay trong loạt giới thiệu này về ngôn ngữ lập trình Python, chúng tôi đã học được một số thủ thuật Python cơ bản khá tuyệt vời. Chúng tôi đã học được những gì làm cho ngôn ngữ trở nên đặc biệt, đã học về bảng điều khiển Python và các biến được sử dụng và học 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 nên làm nhiều việc bên ngoài việc chứng minh cho bạn bè và gia đình rằng bạn có thể học ngôn ngữ lập trình.

Lần này, chúng tôi sẽ tạo ra một chương trình sử dụng nhiều thứ mà chúng tôi đã học đượ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 đầ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 những thứ nhưng don luôn muốn mở tệp để làm như vậy. Ngoài ra, đó là một mẹo quan trọng khi bạn làm công việc Python tiên tiến 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.

Right?

Fine.

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 quá trình này trên Linux. Tuy nhiên, nó sẽ hoạt động trên bất kỳ hệ điều hành nào hỗ trợ Python. Tuy nhiên, nếu bạn 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 thành công như mong đợi (mặc dù họ nên).

Ghi vào một tệp

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

  • Chỉ viết (W) - Mở một tệp để viết.
  • Viết và đọc (W+) - Mở một tệp cho cả viết và đọc.
  • Chỉ nối (a) - mở một tệp để viết. Nếu tập tin không tồn tại, nó được tạo ra.

Chúng tôi sẽ tập trung vào các chế độ viết và nối. Đầu tiên, chế độ ghi. Để làm điều này, chúng tôi sử dụng hàm open(). Hãy nói rằng chúng tôi muốn viết Hello Hello, New Stack, vào một tệp có tên là Text.txt. Đầu tiên, hãy tạo tệp với:text.txt. First, create the file with:

touch text.txt

Tệp đó bây giờ có thể được ghi vào chế độ chỉ ghi.

Tạo một 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 để chỉ ra rằng chúng tôi đang mở tệp 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ì? Những gì chúng tôi đã thực hiện ở đây là xác định tệp biến1 với chức năng mở tệp văn bản.txt trong chế độ ghi. Sau đó, chúng ta có thể sử dụng biến đó trong hai dòng tiếp theo của tệp.text.txt file in write mode. We can then use that variable in the next two lines of the file.

Dòng thứ hai viết chuỗi xin chào, ngăn xếp mới! Đối với tệp 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 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, tập lệnh hoàn chỉnh của chúng tôi trông như thế này:

#Open Tệp Text.txt trong chế độ ghi.

file1=open('text.txt','w')=open('text.txt','w')

#Viết chuỗi "Xin chào, Stack mới!" cho tập tin

File1.Write ("Xin chào, Stack mới!").write("Hello, New Stack!")

#Close tệp

file1.close().close()


Hãy nhớ rằng, tất cả mọi thứ bắt đầu bằng một ký tự # là một bình luận. Chúng tôi nhận xét những điều để chúng tôi biết những gì diễn 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 tệp 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, kịch bản sẽ thay thế Hello Hello, New Stack, bằng cách Hello Hello, New Stack! ở trên cùng. Nói cách khác, tập lệnh của chúng tôi chỉ cần ghi đè lên dòng đầu tiên trong tệp văn bản.txt.text.txt file, you’ll see it contains the Hello, New Stack line at the top. If you run it again, the script will replace “Hello, New Stack” with “Hello, New Stack!” at the top. In other words, our script simply overwrites the first line in the text.txt file.

Đó 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 duy nhất, nó không thực tế lắm. Đó là nơi mà chế độ chỉ nối có ích. Vì vậy, hãy để một sự thay đổi nhỏ. Thay vì mở File1 ở chế độ Write, chúng tôi sẽ mở nó ở chế độ nối. Kịch bản đó trông gần giống với chữ số đầu tiên:

#Open Tệp Text.txt trong chế độ ghi.

file1=open('text.txt','a')=open('text.txt','a')

#Viết chuỗi "Xin chào, Stack mới!" cho tập tin

File1.Write ("Xin chào, Stack mới!").write("Hello, New Stack!")

#Close tệp

file1.close().close()


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

Lưu và đóng tập tin. Chạy tập lệnh với:python3 write.py command it’ll append Hello, New Stack! to the end of the first line. Run it a few times and you’ll end up with a file that looks like this:

Nếu bạn xem nội dung của tệp 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, kịch bản sẽ thay thế Hello Hello, New Stack, bằng cách Hello Hello, New Stack! ở trên cùng. Nói cách khác, tập lệnh của chúng tôi chỉ cần ghi đè lên dòng đầu tiên trong tệp văn bản.txt.,New Stack!Hello,New Stack!Hello,New Stack!Hello,New Stack!


Đó 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 duy nhất, nó không thực tế lắm. Đó là nơi mà chế độ chỉ nối có ích. Vì vậy, hãy để một sự thay đổi nhỏ. Thay vì mở File1 ở chế độ Write, chúng tôi sẽ mở nó ở chế độ nối. Kịch bản đó trông gần giống với chữ số đầu tiên:

touch text.txt0

Phát hiện ra sự khác biệt? Tôi biết bạn sẽ làm.

Xin chào, Stack mới!,New Stack!

Xin chào, Stack mới!,New Stack!

Xin chào, Stack mới!,New Stack!


Bây giờ, chúng ta hãy biến điều 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 tệp. Hãy nhớ rằng, từ hướng dẫn trước đây của chúng tôi, phần này:

In ("Tên của bạn là gì?")("What is your first name?")

input1=input()=input()

In ("Họ của bạn là gì?")("What is your last name?")

input2=input()=input()


Chúng tôi sẽ sử dụng lại nó để hỏi người dùng họ và họ của họ. Tất nhiên, để định dạng điều này đúng cách, 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 chúng tôi cho tên đầu tiên (Input1) và họ (Input2). Bây giờ chúng ta phải viết chúng vào tệp ở chế độ nối 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 (bằng cách đầu vào của người dùng) và định dạng nó sao cho có một khoảng trống giữa tên đầu tiên và tên cuối cùng và một dòng mới trả về sau tên cuối cùng. 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ẽ kết thúc như:

Jackwallenolivianightingalewiljackson


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

Jack WallenWallen

Olivia NightingaleNightingale

Wil JacksonJackson


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

file1.write(input1).write(input1)

file1.write ("").write(" ")

file1.write(input2).write(input2)

file1.write ("\ n").write("\n")

file1.close().close()


Như bạn có thể thấy, chúng tôi đã thêm không gian 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ư:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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

In ("Tên của bạn là gì?")("What is your first name?")

input1=input()=input()

In ("Họ của bạn là gì?")("What is your last name?")

input2=input()=input()

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

file1=open('text.txt','a')= open('text.txt','a')

Chúng tôi đã xác định các biến của chúng tôi cho tên đầu tiên (Input1) và họ (Input2). Bây giờ chúng ta phải viết chúng vào tệp ở chế độ nối với dòng:

file1.write(input1).write(input1)

file1.write ("").write(" ")

file1.write(input2).write(input2)

file1.write ("\ n").write("\n")

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

file1.close().close()


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

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

#Open Tệp Text.txt để thêm.

#Viết nội dung của các biến vào tệp Text.txt A newsletter digest of the week’s most important stories & analyses.

Python 3.6.Tên người dùng = Đầu vào ("Nhập tên người dùng:") In ("Tên người dùng là:" + Tên người dùng) Chạy ví dụ ».

Python 2.7.Tên người dùng = RAW_Input ("Nhập tên người dùng:") In ("Tên người dùng là:" + Tên người dùng) Chạy ví dụ ».. Therefore, before executing any arithmetic operations such as addition and division, we need to convert inputs to integers. Recall type conversion in Section 1.3.

Có phải đầu vào của người dùng luôn được lưu trong Python?

Hàm Save () được sử dụng để lưu một mảng vào tệp nhị phân ở định dạng .npy numpy.Cú pháp: numpy.save (file, arr, allow_pickle = true, fix_imports = true) Phiên bản: 1.15.0.used to save an array to a binary file in NumPy . npy format. Syntax: numpy.save(file, arr, allow_pickle=True, fix_imports=True) Version: 1.15.0.

Làm thế nào để bạn gán đầu vào người dùng trong Python?

Đầu vào của người dùng Python..
❮ Trước Sau ❯.
Python 3.6.Tên người dùng = Đầu vào ("Nhập tên người dùng:") In ("Tên người dùng là:" + Tên người dùng) Chạy ví dụ ».
Python 2.7.Tên người dùng = RAW_Input ("Nhập tên người dùng:") In ("Tên người dùng là:" + Tên người dùng) Chạy ví dụ ».
❮ Trước Sau ❯.