Python stdin không có dòng mới

Đọc đầu vào từ người dùng là một trong những khối xây dựng cơ bản mà chúng ta học được khi học bất kỳ ngôn ngữ lập trình nào. Đầu ra của hầu hết các mã phụ thuộc vào đầu vào của người dùng. Do đó, trong bài viết này, chúng ta sẽ học cách đọc từ

Enter the input.
 NOTE: To stop execution please enter 'quit'
Hello! Welcome to Finxter! 
User Input : Hello! Welcome to Finxter! 

quit
Terminated!
1 trong Python

Có nhiều cách để chấp nhận đầu vào của người dùng trong Python. Chúng tôi có thể đọc trực tiếp từ bảng điều khiển hoặc chúng tôi cũng có thể đọc từ một tệp được chỉ định trong bảng điều khiển. Bối rối? . Vì vậy, không chậm trễ nữa, hãy bắt đầu nhiệm vụ của chúng ta và hãy xem xét các cách tiếp cận khác nhau để đọc đầu vào từ stdin trong Python

Phương pháp 1. sử dụng sys. tiêu chuẩn

Một cách để đọc từ

Enter the input.
 NOTE: To stop execution please enter 'quit'
Hello! Welcome to Finxter! 
User Input : Hello! Welcome to Finxter! 

quit
Terminated!
1 trong Python là sử dụng
Enter the input.
 NOTE: To stop execution please enter 'quit'
Hello! Welcome to Finxter! 
User Input : Hello! Welcome to Finxter! 

quit
Terminated!
4.
Enter the input.
 NOTE: To stop execution please enter 'quit'
Hello! Welcome to Finxter! 
User Input : Hello! Welcome to Finxter! 

quit
Terminated!
4 nhận đầu vào trực tiếp từ dòng lệnh và sau đó gọi hàm input() bên trong. Nó cũng tự động thêm ký tự '\ n' xuống dòng sau khi lấy đầu vào. Để xóa ký tự xuống dòng này, bạn chỉ cần loại bỏ nó bằng cách sử dụng hàm tích hợp sẵn rstrip() của Python

Ghi chú. Đảm bảo nhập mô-đun sys vào mã của bạn trước khi sử dụng sys. tiêu chuẩn

Thí dụ. Trong đoạn mã sau, chúng tôi sẽ sử dụng một vòng lặp cùng với sys. stdin sẽ tiếp tục chấp nhận đầu vào từ người dùng cho đến khi người dùng muốn chấm dứt tập lệnh

# Importing the sys module
import sys

print("Enter the input.\n NOTE: To stop execution please enter 'quit'")
# Program terminates as soon as user enters 'quit'
for line in sys.stdin:
    if 'quit' == line.rstrip():
        break
    print(f'User Input : {line}')

print("Terminated!")

đầu ra

Enter the input.
 NOTE: To stop execution please enter 'quit'
Hello! Welcome to Finxter! 
User Input : Hello! Welcome to Finxter! 

quit
Terminated!

Phương pháp 2. Sử dụng hàm input() tích hợp sẵn của Python

Hàm 

Enter the input.
 NOTE: To stop execution please enter 'quit'
Hello! Welcome to Finxter! 
User Input : Hello! Welcome to Finxter! 

quit
Terminated!
6 tích hợp sẵn của Python đọc một chuỗi từ đầu vào tiêu chuẩn. Chức năng chặn cho đến khi đầu vào đó khả dụng và người dùng nhấn ENTER. Bạn có thể thêm một chuỗi 
Enter the input.
 NOTE: To stop execution please enter 'quit'
Hello! Welcome to Finxter! 
User Input : Hello! Welcome to Finxter! 

quit
Terminated!
7 tùy chọn làm đối số để in một chuỗi tùy chỉnh thành đầu ra tiêu chuẩn mà không có ký tự dòng mới ở cuối để cho người dùng biết rằng chương trình của bạn mong đợi thông tin đầu vào của họ

ví dụ 1

________số 8

đầu ra

Enter anything: Welcome Finxter
The Input is:  Welcome Finxter

ví dụ 2. Sau đây là một ví dụ khác đọc và xử lý thông báo đầu vào trong cho đến khi người dùng nhập đúng thông tin đầu vào đáp ứng điều kiện

Thí dụ

Enter the input.
 NOTE: To stop execution please enter 'quit'
Hello! Welcome to Finxter! 
User Input : Hello! Welcome to Finxter! 

quit
Terminated!
0

Giả sử giá trị chèn đầu tiên là 7 theo sau là 10. Đầu ra sẽ như sau

đầu ra

Enter the input.
 NOTE: To stop execution please enter 'quit'
Hello! Welcome to Finxter! 
User Input : Hello! Welcome to Finxter! 

quit
Terminated!
1

Video liên quan

Hàm input() của Python [Sơ lược 6 phút]

Python stdin không có dòng mới

Xem video này trên YouTube

Phương pháp 3. Sử dụng Mô-đun fileinput

Chúng tôi cũng có thể sử dụng mô-đun fileinput của Python để đọc từ đầu vào tiêu chuẩn. tập tin đầu vào. phương thức input() được sử dụng để đọc qua tất cả các dòng trong tên tệp đầu vào được chỉ định trong đối số dòng lệnh. Nếu không có giá trị đối số nào được cung cấp, nó sẽ lấy đầu vào từ thiết bị đầu cuối và nếu giá trị đối số được cung cấp dưới dạng tên của một tệp hiện có, nó sẽ lấy đầu vào từ tệp đó

Ghi chú. tập tin đầu vào này. phương thức input() tương tự như

Enter the input.
 NOTE: To stop execution please enter 'quit'
Hello! Welcome to Finxter! 
User Input : Hello! Welcome to Finxter! 

quit
Terminated!
4 và nó cũng thêm một ký tự xuống dòng (\n) vào cuối dữ liệu đầu vào

ví dụ 1. Hãy xem một ví dụ nơi chúng ta có thể lấy dữ liệu của tệp theo từng dòng bằng cách sử dụng phương thức

Enter the input.
 NOTE: To stop execution please enter 'quit'
Hello! Welcome to Finxter! 
User Input : Hello! Welcome to Finxter! 

quit
Terminated!
9

Enter the input.
 NOTE: To stop execution please enter 'quit'
Hello! Welcome to Finxter! 
User Input : Hello! Welcome to Finxter! 

quit
Terminated!
4

đầu ra

Enter the input.
 NOTE: To stop execution please enter 'quit'
Hello! Welcome to Finxter! 
User Input : Hello! Welcome to Finxter! 

quit
Terminated!
5

ví dụ 2. Trong ví dụ sau, Python sẽ chấp nhận dữ liệu từ tệp thay vì thiết bị đầu cuối. Hãy xem xét rằng chúng ta có tệp văn bản sau (tên tệp-“bản trình diễn. txt”) như hình bên dưới –

Python stdin không có dòng mới
Enter the input.
 NOTE: To stop execution please enter 'quit'
Hello! Welcome to Finxter! 
User Input : Hello! Welcome to Finxter! 

quit
Terminated!
6

đầu ra

Enter the input.
 NOTE: To stop execution please enter 'quit'
Hello! Welcome to Finxter! 
User Input : Hello! Welcome to Finxter! 

quit
Terminated!
7

câu hỏi liên quan. hệ thống. tiêu chuẩn. dòng đọc () và đầu vào (). cái nào nhanh hơn khi đọc các dòng đầu vào và tại sao?

đầu vào () sys. tiêu chuẩn. readline()input() loại bỏ bất kỳ dòng mới nào từ cuối đầu vào. Do đó, nó sẽ nhanh hơn để sử dụng nếu bạn muốn loại bỏ dòng. Chúng ta phải sử dụng sys. tiêu chuẩn. dòng đọc (). strip() để loại bỏ bất kỳ dòng mới nào từ cuối đầu vào. Input() sẽ tăng EOFError khi được gọi nếu không có thêm đầu vào. Mặt khác, hệ thống. tiêu chuẩn. readline sẽ trả về một chuỗi rỗng tại EOF. Đọc một lượng lớn dữ liệu đầu vào() chậm hơn nhiều. Đọc một lượng lớn dữ liệu sys. tiêu chuẩn. readline() nhanh hơn
  • Thí dụ
Enter the input.
 NOTE: To stop execution please enter 'quit'
Hello! Welcome to Finxter! 
User Input : Hello! Welcome to Finxter! 

quit
Terminated!
0

Sự kết luận

Trong hướng dẫn này, chúng tôi đã xem xét ba phương pháp khác nhau để đọc từ stdin trong Python

  • đầu vào(),
  • hệ thống. tiêu chuẩn,
  • và đầu vào tập tin. đầu vào()

Tôi hy vọng bài viết này đã giúp trả lời các câu hỏi của bạn. Vui lòng đăng ký và theo dõi để biết thêm các bài viết thú vị trong tương lai


Học viện Khoa học Máy tính Finxter

  • Một trong những kỹ năng được tìm kiếm nhiều nhất trên Fiverr và Upwork là tìm kiếm trang web. Không tạo ra một sai sót. trích xuất dữ liệu theo chương trình từ các trang web là một kỹ năng sống quan trọng trong thế giới ngày nay được định hình bởi web và công việc từ xa
  • Vì vậy, bạn có muốn thành thạo nghệ thuật quét web bằng BeautifulSoup của Python không?
  • Nếu câu trả lời là có – khóa học này sẽ đưa bạn từ người mới bắt đầu đến chuyên gia về Quét web

Python stdin không có dòng mới
Tham gia Web Scraping với BeautifulSoup Masterclass ngay bây giờ và thành thạo nó vào ngày mai

Python stdin không có dòng mới

Shubham Sayon

Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking