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 Show 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ẩnMộ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 PythonHà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] Xem video này trên YouTube Phương pháp 3. Sử dụng Mô-đun fileinputChú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 – 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
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ậnTrong 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
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
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 |