Hướng dẫn how do i keep a python script from running? - làm cách nào để ngăn một tập lệnh python chạy?

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 cmd. 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 py 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 exit() 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

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.
>>>
0 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 exit() 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 py đượ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à

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 và lời 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 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 py đưa tập lệnh của bạn cho Python bằng cách nhập py 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 (

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). Đ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.

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

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, thì nó phải có hà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.
>>>
9. 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
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 để 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

>>> print("Hello")
Hello
>>> "Hello" * 3
'HelloHelloHello'
1. Trong một DLL, liên kết được khai báo trong mã nguồn với
>>> print("Hello")
Hello
>>> "Hello" * 3
'HelloHelloHello'
2. 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

    >>> print("Hello")
    Hello
    >>> "Hello" * 3
    'HelloHelloHello'
    
    3; Nó thường được cài đặt trong
    >>> print("Hello")
    Hello
    >>> "Hello" * 3
    'HelloHelloHello'
    
    4. 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
    >>> print("Hello")
    Hello
    >>> "Hello" * 3
    'HelloHelloHello'
    
    3; it is typically installed in
    >>> print("Hello")
    Hello
    >>> "Hello" * 3
    'HelloHelloHello'
    
    4. 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

    >>> print("Hello")
    Hello
    >>> "Hello" * 3
    'HelloHelloHello'
    
    5, trong khi liên kết thời gian chạy có nghĩa là liên kết với
    >>> print("Hello")
    Hello
    >>> "Hello" * 3
    'HelloHelloHello'
    
    3. .

    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

    >>> print("Hello")
    Hello
    >>> "Hello" * 3
    'HelloHelloHello'
    
    3 bằng cách sử dụng thói quen Windows
    C:\Users\YourName> py Desktop\hello.py
    hello
    
    0. Mã này cũng phải sử dụng các thói quen và dữ liệu truy cập trong
    >>> print("Hello")
    Hello
    >>> "Hello" * 3
    'HelloHelloHello'
    
    3 (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
    C:\Users\YourName> py Desktop\hello.py
    hello
    
    2. 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 
    ...
    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ố

    C:\Users\YourName> py Desktop\hello.py
    hello
    
    3 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
    C:\Users\YourName> py Desktop\hello.py
    hello
    
    4 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:

    return Py_BuildValue("");
    

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

    C:\Users\YourName> py Desktop\hello.py
    hello
    
    5 để 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

C:\Users\YourName> py Desktop\hello.py
hello
6 hoặc
C:\Users\YourName> py Desktop\hello.py
hello
7 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
C:\Users\YourName> py Desktop\hello.py
hello
8 để 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

C:\Users\YourName> py Desktop\hello.py
hello
9. Đâ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
#include 
...
Py_Initialize();  // Initialize Python.
initmyAppc();  // Initialize (import) the helper class.
PyRun_SimpleString("import myApp");  // Import the shadow class.
0 trong đó kiểm tra xem có phải một cú đánh bàn phím hay không và
#include 
...
Py_Initialize();  // Initialize Python.
initmyAppc();  // Initialize (import) the helper class.
PyRun_SimpleString("import myApp");  // Import the shadow class.
1 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.

Làm cách nào để ngăn mã python chạy?

Để dừng thực thi mã trong Python, trước tiên bạn cần nhập đối tượng SYS. Sau đó, sau đó bạn có thể gọi phương thức EXIT () để dừng chương trình chạy.call the exit() method to stop the program from running.

Làm cách nào để ngăn một tập lệnh Python chạy trong Windows?

Khi bạn muốn kết thúc phiên Python tương tác của mình, hãy gọi hàm EXIT () 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ư bắt đầu ‣ Chương trình ‣ Python 3.call the exit() function or hold the Ctrl key down while you enter a Z , then hit the “ Enter ” key to get back to your Windows command prompt. You may also find that you have a Start-menu entry such as Start ‣ Programs ‣ Python 3.

Làm thế nào để bạn tạm dừng một kịch bản Python?

Hàm Python Sleep () sẽ tạm dừng mã Python hoặc trì hoãn việc thực hiện chương trình trong số giây được đưa ra làm đầu vào cho giấc ngủ ().Hàm giấc ngủ () là một phần của mô -đun thời gian Python.Bạn có thể sử dụng chức năng giấc ngủ Python khi bạn muốn tạm dừng việc thực thi mã của mình. will pause Python code or delay the execution of program for the number of seconds given as input to sleep(). The sleep() function is part of the Python time module. You can make use of Python sleep function when you want to temporarily halt the execution of your code.

Thoát () trong Python là gì?

Hàm bỏ () chức năng Python được chế tạo () chức năng thoát ra một chương trình Python bằng cách đóng tệp Python.Vì hàm thoát () yêu cầu chúng tôi tải mô -đun trang web, nó thường không được sử dụng trong mã sản xuất.exits a Python program by closing the Python file. Since the quit() function requires us to load the site module, it is generally not used in production code.