Hướng dẫn python stop console from closing - bảng điều khiển dừng python đóng

  1. Sử dụng chức năng
    import time
    time.sleep(20)
    
    1 để dừng chương trình Python đóng ngay lập tức
  2. Sử dụng cờ
    import time
    time.sleep(20)
    
    2 để dừng chương trình Python đóng ngay lập tức
  3. Sử dụng lệnh
    import time
    time.sleep(20)
    
    3 để dừng chương trình Python đóng ngay lập tức
  4. Sử dụng chức năng
    import time
    time.sleep(20)
    
    4 để dừng chương trình Python đóng ngay lập tức

Các tập lệnh Python có thể được tạo và chỉnh sửa bằng nhiều biên tập viên khác nhau. Chúng ta có thể sử dụng các Idles khác nhau hoặc lời nhắc lệnh để chạy các tập lệnh này.

Đôi khi một chương trình Python ngay lập tức đóng cửa khi chúng tôi chạy nó, điều này có thể xảy ra vì nhiều lý do.

Nếu một chương trình Python đóng ngay lập tức, chúng ta có thể sử dụng các cách sau để giải quyết vấn đề.

Hàm

import time
time.sleep(20)
1 được sử dụng để đọc một số đầu vào từ người dùng. Chúng tôi có thể thêm lời nhắc này đến cuối chương trình để ngăn nó đóng ngay lập tức.

Điều này sẽ đảm bảo lời nhắc để có được một số đầu vào của người dùng khi kết thúc chương trình. Chúng tôi có thể cung cấp bất kỳ đầu vào; Nó không quan trọng và nhấn enter vì chúng tôi đã giành được quy trình đầu vào ở bất cứ đâu trong mã.

Trong Python 2, chúng ta phải sử dụng phương thức

import time
time.sleep(20)
6 để lấy đầu vào của người dùng.

Cờ

import time
time.sleep(20)
2 được sử dụng để đặt cờ kiểm tra thành
import time
time.sleep(20)
8 khi được sử dụng trong dấu nhắc lệnh. Điều này ngăn chặn chương trình thoát ra trên
import time
time.sleep(20)
9, vì vậy nó có thể giải quyết một chương trình Python kết thúc ngay lập tức.

Khi chương trình kết thúc, tùy chọn này nói rằng để chuyển sang chế độ tương tác.

Chúng ta có thể chạy các tập lệnh Python từ dấu nhắc lệnh. Vấn đề được đề cập là phổ biến khi chúng tôi yêu cầu

START python myscript.py %*
0 chạy tập lệnh khi cửa sổ
START python myscript.py %*
0 đóng khi chương trình chấm dứt.

Nếu đây thực sự là lý do để kết thúc chương trình, chúng ta có thể chạy tập lệnh khác nhau. Chúng ta có thể truy cập thư mục script và chạy nó bằng lệnh

import time
time.sleep(20)
3.

Ví dụ:

cd C:\User\ScriptDir
python script_name.py

Lệnh

START python myscript.py %*
3 có thể điều hướng đến thư mục cần thiết.

Mô -đun

START python myscript.py %*
4 cung cấp các chức năng khác nhau để hoạt động với các giá trị thời gian. Chúng ta có thể thêm độ trễ thứ hai cần thiết bằng cách sử dụng hàm
START python myscript.py %*
5.

Nếu một chương trình đóng ngay lập tức, chúng ta có thể thêm chức năng này ở cuối để tạo ra một chút độ trễ để quan sát đầu ra đúng cách.

Ví dụ:

import time
time.sleep(20)

Lệnh

START python myscript.py %*
3 có thể điều hướng đến thư mục cần thiết.

Tôi có một tệp .bat được lưu trong cùng thư mục với tệp .py của tôi. Bên trong tệp .bat, tôi có:

START python myscript.py %*

Trong khi chạy myscript.py trong Jupyter Notebook, nó có vẻ hoạt động tốt. Nhưng khi tôi thực sự cố gắng chạy myscript.py, nó sẽ gặp sự cố. Thật không may, cửa sổ Python đóng nên tôi không có cơ hội để xem lỗi là gì. Cửa sổ Python.exe đóng, không phải CMD (CMD không mở).

Tôi đang ở trên Windows và một giải pháp duy nhất của Windows là đủ tốt - vì tập lệnh là cho chính tôi.

Làm cách nào để giữ cho nó mở?

Hướng dẫn python stop console from closing - bảng điều khiển dừng python đóng

cấp độ 1

Làm thế nào bạn ra mắt thiết bị đầu cuối?

cấp độ 2

Tôi lưu tệp notepad ++ vào máy tính để bàn dưới dạng .py và sau đó nhấp đúp vào nó.

cấp độ 1

Làm thế nào bạn ra mắt thiết bị đầu cuối?

start > run > cmd

cấp độ 2

cấp độ 1

Làm thế nào bạn ra mắt thiết bị đầu cuối?

cấp độ 2

Tôi lưu tệp notepad ++ vào máy tính để bàn dưới dạng .py và sau đó nhấp đúp vào nó.

Mở dòng lệnh như Indosauros được đề xuất:

Sau đó nhập

import time
time.sleep(20)
3 (với một khoảng trống sau) và kéo và thả tệp của bạn vào cửa sổ dòng lệnh. Sau đó nhấn enter

cấp độ 1

Làm thế nào bạn ra mắt thiết bị đầu cuối?
It is just running so quickly that you can't see the result for it.
Need to have and wait for input or something like that at the end of the script for it to wait.
The it should pop and up do whatever your code does, then wait for you to do something before it quits.

cấp độ 2

Tôi lưu tệp notepad ++ vào máy tính để bàn dưới dạng .py và sau đó nhấp đúp vào nó.

Làm cách nào để chạy một chương trình Python trong Windows? ¶

Đây không nhất thiết là một câu hỏi đơn giản. Nếu bạn đã quen thuộc với các chương trình chạy từ dòng lệnh Windows thì mọi thứ sẽ có vẻ rõ ràng; Nếu không, bạn có thể cần thêm một chút hướng dẫn.

Trừ khi bạn sử dụng một số loại môi trường phát triển tích hợp, cuối cùng bạn sẽ gõ các lệnh windows vào cái được gọi là cửa sổ nhắc lệnh của lệnh. Thông thường bạn có thể tạo một cửa sổ như vậy từ thanh tìm kiếm của bạn bằng cách tìm kiếm

START python myscript.py %*
8. Bạn sẽ có thể nhận ra khi nào bạn đã bắt đầu một cửa sổ như vậy bởi vì bạn sẽ thấy một dấu nhắc lệnh Windows Windows, thường trông như thế này:

Bức thư có thể khác nhau, và có thể có những thứ khác sau nó, vì vậy bạn có thể dễ dàng nhìn thấy một cái gì đó như:

D:\YourName\Projects\Python>

Tùy thuộc vào cách máy tính của bạn đã được thiết lập và những gì bạn đã làm gần đây với nó. Khi bạn đã bắt đầu một cửa sổ như vậy, bạn đang trên đường chạy các chương trình Python.

Bạn cần nhận ra rằng các tập lệnh Python của bạn phải được xử lý bởi một chương trình khác gọi là trình thông dịch Python. Trình thông dịch đọc tập lệnh của bạn, biên dịch nó thành các mã byte và sau đó thực thi các byte để chạy chương trình của bạn. Vì vậy, làm thế nào để bạn sắp xếp cho thông dịch viên để xử lý Python của bạn?

Đầu tiên, bạn cần đảm bảo rằng cửa sổ lệnh của bạn nhận ra từ "py py là một hướng dẫn để bắt đầu trình thông dịch. Nếu bạn đã mở một cửa sổ lệnh, bạn nên thử nhập lệnh

START python myscript.py %*
9 và nhấn trả về:

Sau đó, bạn nên thấy một cái gì đó như:

Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

Bạn đã bắt đầu thông dịch viên trong chế độ tương tác trực tuyến. Điều đó có nghĩa là bạn có thể nhập các câu lệnh hoặc biểu thức Python một cách tương tác và để chúng được thực thi hoặc đánh giá trong khi bạn chờ đợi. Đây là một trong những tính năng mạnh nhất của Python. Kiểm tra nó bằng cách nhập một vài biểu thức bạn chọn và xem kết quả:

>>> print("Hello")
Hello
>>> "Hello" * 3
'HelloHelloHello'

Nhiều người sử dụng chế độ tương tác như một máy tính thuận tiện nhưng có thể lập trình rất cao. Khi bạn muốn kết thúc phiên Python tương tác của mình, hãy gọi chức năng

start > run > cmd
0 hoặc giữ phím CTRL trong khi bạn nhập Z, sau đó nhấn phím Enter Enter để quay lại dấu nhắc lệnh Windows của bạn.

Bạn cũng có thể thấy rằng bạn có một mục nhập bắt đầu như kết quả là bạn thấy lời nhắc

start > run > cmd
1 trong một cửa sổ mới. Nếu vậy, cửa sổ sẽ biến mất sau khi bạn gọi hàm
start > run > cmd
0 hoặc nhập ký tự Ctrl-Z; Windows đang chạy một lệnh Python Python duy nhất trong cửa sổ và đóng nó khi bạn chấm dứt trình thông dịch.

Bây giờ chúng tôi đã biết lệnh

START python myscript.py %*
9 được công nhận, bạn có thể cung cấp tập lệnh Python của mình cho nó. Bạn sẽ phải đưa ra một đường dẫn tuyệt đối hoặc tương đối đến kịch bản Python. Hãy nói rằng tập lệnh Python của bạn được đặt trong máy tính để bàn của bạn và được đặt tên là
start > run > cmd
4 và dấu nhắc lệnh của bạn được mở một cách độc đáo trong thư mục nhà của bạn để bạn nhìn thấy một cái gì đó tương tự như:

Vì vậy, bây giờ bạn sẽ yêu cầu lệnh

START python myscript.py %*
9 đưa ra tập lệnh của bạn cho Python bằng cách nhập
START python myscript.py %*
9 theo sau là đường dẫn tập lệnh của bạn:

C:\Users\YourName> py Desktop\hello.py
hello

Làm cách nào để thực hiện các tập lệnh Python? ¶

Trên Windows, trình cài đặt Python tiêu chuẩn đã liên kết tiện ích mở rộng .py với loại tệp (python.file) và đưa ra loại tệp đó một lệnh mở chạy trình thông dịch (

start > run > cmd
7). Điều này là đủ để làm cho các tập lệnh có thể thực thi từ dấu nhắc lệnh là ‘foo.py. Nếu bạn có thể thực thi tập lệnh bằng cách gõ đơn giản ‘foo, không có phần mở rộng nào bạn cần thêm .Py vào biến môi trường Pathext.

Tại sao Python đôi khi mất quá nhiều thời gian để bắt đầu? ¶

Thông thường, Python bắt đầu rất nhanh trên các cửa sổ, nhưng đôi khi có các báo cáo lỗi mà Python đột nhiên bắt đầu mất nhiều thời gian để bắt đầu. Điều này thậm chí còn gây khó hiểu hơn vì Python sẽ hoạt động tốt trên các hệ thống Windows khác dường như được cấu hình giống hệt nhau.

Vấn đề có thể được gây ra bởi sự cấu hình sai phần mềm kiểm tra virus trên máy có vấn đề. Một số máy quét virus đã được biết là giới thiệu chi phí khởi động của hai bậc độ lớn khi máy quét được cấu hình để giám sát tất cả các lần đọc từ hệ thống tập tin. Hãy thử kiểm tra cấu hình của phần mềm quét virus trên các hệ thống của bạn để đảm bảo rằng chúng thực sự được cấu hình giống hệt nhau. McAfee, khi được cấu hình để quét tất cả hoạt động đọc hệ thống tệp, là một người phạm tội cụ thể.

Làm cách nào để thực hiện một thực thi từ kịch bản Python? ¶

Xem làm thế nào tôi có thể tạo một nhị phân độc lập từ kịch bản Python? Đối với một danh sách các công cụ có thể được sử dụng để thực hiện thực thi.How can I create a stand-alone binary from a Python script? for a list of tools that can be used to make executables.

Tệp start > run > cmd 8 có giống như DLL không? ¶

Có, các tệp .pyd là DLL, nhưng có một vài sự khác biệt. Nếu bạn có một DLL có tên

start > run > cmd
9, thì nó phải có hàm
D:\YourName\Projects\Python>
0. Sau đó, bạn có thể viết Python Hồi Nhập FOO, và Python sẽ tìm kiếm foo.pyd (cũng như foo.py, foo.pyc) và nếu tìm thấy nó, sẽ cố gắng gọi
D:\YourName\Projects\Python>
0 để khởi tạo nó. Bạn không liên kết .exe của bạn với foo.lib, vì điều đó sẽ khiến Windows yêu cầu DLL phải có mặt.

Lưu ý rằng đường dẫn tìm kiếm cho foo.pyd là PythonPath, không giống với đường dẫn mà Windows sử dụng để tìm kiếm foo.dll. Ngoài ra, foo.pyd không cần phải có mặt để chạy chương trình của bạn, trong khi nếu bạn liên kết chương trình của mình với DLL, DLL là bắt buộc. Tất nhiên, foo.pyd là bắt buộc nếu bạn muốn nói

D:\YourName\Projects\Python>
2. Trong một DLL, liên kết được khai báo trong mã nguồn với
D:\YourName\Projects\Python>
3. Trong .Pyd, liên kết được xác định trong một danh sách các chức năng có sẵn.

Làm thế nào tôi có thể nhúng Python vào một ứng dụng Windows? ¶

Việc nhúng trình thông dịch Python vào ứng dụng Windows có thể được tóm tắt như sau:

  1. Không xây dựng Python vào tệp .exe của bạn trực tiếp. Trên Windows, Python phải là một DLL để xử lý các mô -đun nhập là DLL. (Đây là thực tế quan trọng đầu tiên không có giấy tờ.) Thay vào đó, liên kết đến

    D:\YourName\Projects\Python>
    
    4; Nó thường được cài đặt trong
    D:\YourName\Projects\Python>
    
    5. NN là phiên bản Python, một số như là 33 33 cho Python 3.3.not build Python into your .exe file directly. On Windows, Python must be a DLL to handle importing modules that are themselves DLL’s. (This is the first key undocumented fact.) Instead, link to
    D:\YourName\Projects\Python>
    
    4; it is typically installed in
    D:\YourName\Projects\Python>
    
    5. NN is the Python version, a number such as “33” for Python 3.3.

    Bạn có thể liên kết đến Python theo hai cách khác nhau. Liên kết thời gian tải có nghĩa là liên kết với

    D:\YourName\Projects\Python>
    
    6, trong khi liên kết thời gian chạy có nghĩa là liên kết với
    D:\YourName\Projects\Python>
    
    4. .

    Thời gian chạy liên kết đơn giản hóa rất nhiều tùy chọn liên kết; Mọi thứ xảy ra trong thời gian chạy. Mã của bạn phải tải

    D:\YourName\Projects\Python>
    
    4 bằng cách sử dụng thói quen Windows
    Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    
    1. Mã này cũng phải sử dụng các thói quen và dữ liệu truy cập trong
    D:\YourName\Projects\Python>
    
    4 (nghĩa là Python, C C API,) bằng cách sử dụng các con trỏ thu được từ thói quen Windows
    Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    
    3. Macro có thể sử dụng các con trỏ này minh bạch cho bất kỳ mã C nào gọi các thói quen trong API Python.

  2. Nếu bạn sử dụng SWIG, thật dễ dàng để tạo một mô -đun mở rộng Python, sẽ làm cho dữ liệu và phương thức ứng dụng có sẵn cho Python. Swig sẽ xử lý tất cả các chi tiết grungy cho bạn. Kết quả là mã C mà bạn liên kết với tệp .exe (!) Bạn không phải tạo tệp DLL và điều này cũng đơn giản hóa liên kết.not have to create a DLL file, and this also simplifies linking.

  3. SWIG sẽ tạo hàm init (hàm C C) có tên phụ thuộc vào tên của mô -đun mở rộng. Ví dụ: nếu tên của mô -đun là LEO, hàm init sẽ được gọi là interLeo (). Nếu bạn sử dụng các lớp SWIG Shadow, như bạn nên, hàm init sẽ được gọi là initingLeoc (). Điều này khởi tạo một lớp trợ giúp chủ yếu được sử dụng bởi lớp bóng.

    Lý do bạn có thể liên kết mã C trong bước 2 vào tệp .exe của bạn là việc gọi hàm khởi tạo tương đương với việc nhập mô -đun vào Python! (Đây là thực tế khóa thứ hai không có giấy tờ.)

  4. Nói tóm lại, bạn có thể sử dụng mã sau để khởi tạo trình thông dịch Python với mô -đun mở rộng của mình.

    #include <Python.h>
    ...
    Py_Initialize();  // Initialize Python.
    initmyAppc();  // Initialize (import) the helper class.
    PyRun_SimpleString("import myApp");  // Import the shadow class.
    

  5. Có hai vấn đề với API Python từ C sẽ trở nên rõ ràng nếu bạn sử dụng trình biên dịch khác ngoài MSVC, trình biên dịch được sử dụng để xây dựng pythonnn.dll.

    Vấn đề 1: Cái gọi là các chức năng cấp độ rất cao của các đối số

    Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    
    4 sẽ không hoạt động trong môi trường đa trình biên dịch vì mỗi trình biên dịch khác về khái niệm
    Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    
    5 sẽ khác nhau. Từ quan điểm thực hiện, đây là các chức năng cấp độ rất thấp.

    Bài 2: SWIG tạo mã sau khi tạo trình bao bọc cho các hàm void:

    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
    

    Than ôi, py_none là một macro mở rộng đến một tham chiếu đến một cấu trúc dữ liệu phức tạp gọi là _py_nonestruct bên trong pythonnn.dll. Một lần nữa, mã này sẽ thất bại trong môi trường đa bộ. Thay thế mã đó bằng:

    import time
    time.sleep(20)
    
    0

    Có thể sử dụng lệnh Swig từ

    Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    
    6 để tự động thay đổi, mặc dù tôi không thể làm cho nó hoạt động (tôi là một người mới hoàn chỉnh).

  6. Sử dụng tập lệnh Python Shell để đưa lên cửa sổ phiên dịch Python từ bên trong ứng dụng Windows của bạn không phải là một ý tưởng tốt; Cửa sổ kết quả sẽ độc lập với hệ thống cửa sổ ứng dụng của bạn. Thay vào đó, bạn (hoặc lớp wxpythonwindow) sẽ tạo một cửa sổ phiên dịch bản địa của người Hồi giáo. Thật dễ dàng để kết nối cửa sổ đó với trình thông dịch Python. Bạn có thể chuyển hướng Python từ I/O đến _any_ đối tượng hỗ trợ đọc và viết, vì vậy tất cả những gì bạn cần là một đối tượng Python (được xác định trong mô -đun mở rộng của bạn) có chứa các phương thức đọc () và ghi ().

Làm cách nào để giữ các biên tập viên không chèn các tab vào nguồn Python của tôi? ¶

Câu hỏi thường gặp không khuyến nghị sử dụng các tab và Hướng dẫn kiểu Python, PEP 8, khuyến nghị 4 không gian cho mã Python phân tán; Đây cũng là mặc định chế độ python Emacs.PEP 8, recommends 4 spaces for distributed Python code; this is also the Emacs python-mode default.

Theo bất kỳ trình soạn thảo nào, trộn các tab và không gian là một ý tưởng tồi. MSVC không khác nhau về mặt này và dễ dàng được cấu hình để sử dụng khoảng trắng: lấy và đối với loại tệp mặc định, bộ mặc định, bộ tab tab tab kích thước và kích thước thụt đầu vào 4, và chọn nút radio chèn không gian.

Python tăng

Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
7 hoặc
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
8 nếu các tab và không gian hỗn hợp gây ra vấn đề trong khoảng trắng hàng đầu. Bạn cũng có thể chạy mô -đun
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
9 để kiểm tra cây thư mục ở chế độ hàng loạt.

Làm cách nào để kiểm tra Keypress mà không bị chặn? ¶

Sử dụng mô -đun

>>> print("Hello")
Hello
>>> "Hello" * 3
'HelloHelloHello'
0. Đây là một mô-đun mở rộng dành riêng cho Windows tiêu chuẩn. Nó xác định một hàm
>>> print("Hello")
Hello
>>> "Hello" * 3
'HelloHelloHello'
1 kiểm tra xem có phải một cú đánh bàn phím hay không và
>>> print("Hello")
Hello
>>> "Hello" * 3
'HelloHelloHello'
2 có một ký tự mà không lặp lại nó.

Làm cách nào để giải quyết lỗi API-MS-Win-crt-Runtime-L1-1-0.dll bị thiếu

Điều này có thể xảy ra trên Python 3.5 và sau đó khi sử dụng Windows 8.1 hoặc sớm hơn mà không có tất cả các bản cập nhật đã được cài đặt. Trước tiên, hãy đảm bảo hệ điều hành của bạn được hỗ trợ và được cập nhật và nếu điều đó không giải quyết được sự cố, hãy truy cập trang hỗ trợ Microsoft để được hướng dẫn về cài đặt Cập nhật thời gian chạy C theo cách thủ công.