In không hoạt động trong Python
Có thể xảy ra trường hợp bạn thực thi một tập lệnh Python và không có gì xảy ra, tôi. e. có vẻ như nó "treo" mà không hiển thị bất kỳ đầu ra nào Show
Ngay cả khi bạn bao gồm rõ ràng một số câu lệnh # Shell $ export PYTHONUNBUFFERED=true $ python script.py # Dockerfile ENV PYTHONUNBUFFERED=true CMD [ "python", "script.py" ]2 để gỡ lỗi sự cố, nó vẫn có thể không in bất cứ thứ gì ra thiết bị đầu cuối Một trong những lý do tại sao tập lệnh Python của bạn không hiển thị bất kỳ đầu ra nào là vì nó lưu vào bộ đệm # Shell $ export PYTHONUNBUFFERED=true $ python script.py # Dockerfile ENV PYTHONUNBUFFERED=true CMD [ "python", "script.py" ]3 và # Shell $ export PYTHONUNBUFFERED=true $ python script.py # Dockerfile ENV PYTHONUNBUFFERED=true CMD [ "python", "script.py" ]4 thay vì in chúng Điều này cũng có thể xảy ra nếu bạn thực thi tập lệnh Python từ đường dẫn CI/CD (e. g. sử dụng Jenkins, Gitlab-CI, TeamCity, v.v. ) hoặc nếu bạn chạy nó bằng cách sử dụng # Shell $ export PYTHONUNBUFFERED=true $ python script.py # Dockerfile ENV PYTHONUNBUFFERED=true CMD [ "python", "script.py" ]5 Ghi chú ngắn này cho biết cách giải quyết vấn đề khi tập lệnh Python “treo” và không hiển thị bất kỳ đầu ra nào Mẹo hay. Cách kiểm tra phiên bản của gói Python. Đọc thêm → Tập lệnh Python không hiển thị đầu raĐể buộc các luồng # Shell $ export PYTHONUNBUFFERED=true $ python script.py # Dockerfile ENV PYTHONUNBUFFERED=true CMD [ "python", "script.py" ]3 và # Shell $ export PYTHONUNBUFFERED=true $ python script.py # Dockerfile ENV PYTHONUNBUFFERED=true CMD [ "python", "script.py" ]4 gửi đầu ra của tập lệnh Python thẳng tới thiết bị đầu cuối (hoặc tệp nhật ký), bạn có thể đặt biến môi trường # Shell $ export PYTHONUNBUFFERED=true $ python script.py # Dockerfile ENV PYTHONUNBUFFERED=true CMD [ "python", "script.py" ]8 (thành bất kỳ giá trị nào khác với # Shell $ export PYTHONUNBUFFERED=true $ python script.py # Dockerfile ENV PYTHONUNBUFFERED=true CMD [ "python", "script.py" ]9) hoặc thực thi lệnh # Shell $ python -u script.py # Dockerfile CMD [ "python", "-u", "script.py" ]0 với tùy chọn # Shell $ python -u script.py # Dockerfile CMD [ "python", "-u", "script.py" ]1 Biến môi trường # Shell $ export PYTHONUNBUFFERED=true $ python script.py # Dockerfile ENV PYTHONUNBUFFERED=true CMD [ "python", "script.py" ]8 có thể được đặt như sau # Shell $ export PYTHONUNBUFFERED=true $ python script.py # Dockerfile ENV PYTHONUNBUFFERED=true CMD [ "python", "script.py" ] Hoặc bạn chỉ cần chạy lệnh # Shell $ python -u script.py # Dockerfile CMD [ "python", "-u", "script.py" ]0 với tùy chọn # Shell $ python -u script.py # Dockerfile CMD [ "python", "-u", "script.py" ]1 # Shell $ python -u script.py # Dockerfile CMD [ "python", "-u", "script.py" ] Sau khi sử dụng bất kỳ phương pháp nào ở trên, tập lệnh Python của bạn sẽ bắt đầu in đầu ra Mẹo hay. Cách liệt kê tất cả các mô-đun Python được cài đặt cục bộ và tìm đường dẫn đến tệp nguồn của chúng. Đọc thêm → Hàm # Shell $ export PYTHONUNBUFFERED=true $ python script.py # Dockerfile ENV PYTHONUNBUFFERED=true CMD [ "python", "script.py" ]2 in đối tượng đã cho tới thiết bị đầu ra tiêu chuẩn (màn hình) hoặc tới tệp luồng văn bản Ví dụ
in() Cú phápCú pháp đầy đủ của # Shell $ export PYTHONUNBUFFERED=true $ python script.py # Dockerfile ENV PYTHONUNBUFFERED=true CMD [ "python", "script.py" ]2 là print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) in () Tham số
Ghi chú. sep, end, file và flush là các đối số từ khóa. Nếu bạn muốn sử dụng đối số sep, bạn phải sử dụng # Shell $ python -u script.py # Dockerfile CMD [ "python", "-u", "script.py" ]1 không phải # Shell $ python -u script.py # Dockerfile CMD [ "python", "-u", "script.py" ]2 print() Giá trị trả vềNó không trả về bất kỳ giá trị nào; ví dụ 1. Print() hoạt động như thế nào trong Python?# Shell $ python -u script.py # Dockerfile CMD [ "python", "-u", "script.py" ]3 đầu ra # Shell $ python -u script.py # Dockerfile CMD [ "python", "-u", "script.py" ]4 Trong chương trình trên, chỉ có tham số đối tượng được truyền cho hàm # Shell $ export PYTHONUNBUFFERED=true $ python script.py # Dockerfile ENV PYTHONUNBUFFERED=true CMD [ "python", "script.py" ]2 (trong cả ba câu lệnh in) Vì thế,
ví dụ 2. print() với các tham số dấu phân cách và kết thúc# Shell $ python -u script.py # Dockerfile CMD [ "python", "-u", "script.py" ]9 đầu ra # Shell $ export PYTHONUNBUFFERED=true $ python script.py # Dockerfile ENV PYTHONUNBUFFERED=true CMD [ "python", "script.py" ]0 Chúng tôi đã chuyển các tham số sep và end trong chương trình trên ví dụ 3. print() với tham số tệpTrong Python, bạn có thể in các đối tượng vào tệp bằng cách chỉ định tham số tệp đề xuất đọc. I/O tệp Python # Shell $ export PYTHONUNBUFFERED=true $ python script.py # Dockerfile ENV PYTHONUNBUFFERED=true CMD [ "python", "script.py" ]1 Chương trình này cố gắng mở python. txt ở chế độ viết. Nếu tệp này không tồn tại, python. txt được tạo và mở ở chế độ viết Ở đây, chúng tôi đã chuyển đối tượng tệp sourceFile cho tham số tệp. Đối tượng chuỗi 'Khá tuyệt, huh. ' được in ra con trăn. txt (kiểm tra nó trong hệ thống của bạn) Tại sao Python của tôi không in được?Một trong những lý do tại sao tập lệnh Python của bạn không hiển thị bất kỳ đầu ra nào là vì nó đệm thiết bị xuất chuẩn và thiết bị xuất chuẩn thay vì in chúng . Điều này cũng có thể xảy ra nếu bạn thực thi tập lệnh Python từ đường dẫn CI/CD (e. g. sử dụng Jenkins, Gitlab-CI, TeamCity, v.v. ) hoặc nếu bạn chạy nó bằng Dockerfile.
Tại sao chức năng in của tôi không hoạt động?Khôi phục cài đặt gốc trên máy in của bạn . Để thực hiện việc này, bạn chỉ cần tắt máy in, rút phích cắm trong vài phút rồi cắm lại máy in. Nếu cách đó vẫn không hiệu quả, hãy thử tắt máy in và máy tính của bạn, sau đó khởi động lại máy in. Hãy thử gỡ cài đặt và sau đó cài đặt lại trình điều khiển máy in của bạn.
in ('') trong Python là gì?Hàm print() in thông báo đã chỉ định ra màn hình hoặc thiết bị đầu ra tiêu chuẩn khác . Thông báo có thể là một chuỗi, hoặc bất kỳ đối tượng nào khác, đối tượng sẽ được chuyển thành chuỗi trước khi ghi ra màn hình.
Tại sao câu lệnh in của tôi không in Python?Hàm của bạn đang in dựa trên điều kiện của câu lệnh if . Hàm gọi "print(movie_review(9)) đang cố in giá trị trả về. Không có câu lệnh trả về, điều này mặc định là không có. Nó có thể được khắc phục bằng cách thêm một câu lệnh trả về trên mỗi câu lệnh có điều kiện và xóa bản in. |