Nếu bạn muốn học Python, bạn cần biết cách chạy tập lệnh Python hoặc. tập tin py trong Windows. Tìm hiểu những gì bạn cần làm trong bài viết này
Khi nói đến hệ điều hành, có ba hệ điều hành chính dành cho máy tính cá nhân. Microsoft Windows, macOS của Apple và Linux. Bạn có thể sử dụng bất kỳ hệ điều hành nào trong số này để phát triển và chạy các chương trình Python của mình. Tuy nhiên, có những khác biệt nhỏ mà bạn cần lưu ý khi phát triển các dự án của mình. Trong bài viết này, chúng tôi sẽ phác thảo cách chạy tập lệnh Python trong Windows
Nói chung, chúng tôi khuyên bạn nên làm việc với Python 3, đây là phiên bản mới nhất. Nếu bạn cần một số trợ giúp để cài đặt Python, hãy xem bài viết của chúng tôi Cách cài đặt Python trên Windows. Để đảm bảo bạn bắt kịp với thuật ngữ mà chúng tôi sử dụng trong bài viết này, hãy xem Các thuật ngữ Python mà Người mới bắt đầu nên biết – Phần 1
Nếu bạn là người mới lập trình, thì một nơi tốt để bắt đầu là khóa học Cơ bản về Python của chúng tôi, bao gồm ba khóa học hữu ích để dạy cho bạn các nguyên tắc cơ bản. Chúng tôi có nhiều đề xuất khóa học hơn trong bài viết Cách học Python trực tuyến miễn phí
Tập lệnh Python đầu tiên của bạn
Để theo dõi bài viết này, bạn sẽ cần tạo tập lệnh Python của riêng mình. Kịch bản này không cần phải cầu kỳ - một 'Xin chào, Thế giới. ’ chương trình sẽ làm. Chỉ cần mở một trình soạn thảo văn bản [chẳng hạn như Notepad] và gõ
print['Hello, World!']
Chỉ cần đảm bảo rằng không có bất kỳ khoảng trắng nào trước câu lệnh print[]
. Sau đó lưu nó dưới dạng 'script. py'
Chạy Mã Python từ Dấu nhắc Lệnh
Cách đầu tiên để làm việc với Python trong Windows là thông qua phiên tương tác. Để bắt đầu một phiên tương tác, chỉ cần mở Dấu nhắc lệnh. Tìm kiếm cmd
trên thanh công cụ, sau đó nhấn Enter. Khi dấu nhắc lệnh được mở, chỉ cần gõ python và nhấn Enter lần nữa
Khi bạn đang ở trong một phiên tương tác, mọi câu lệnh Python sẽ được thực thi ngay lập tức và mọi kết quả đầu ra được hiển thị ngay bên dưới. thử gõ
>>> print['Hello, World!'] Hello, World!
Từ đây, bạn có thể viết bất kỳ mã Python nào bạn muốn. Để thoát khỏi phiên tương tác, hãy nhập quit[]
hoặc exit[]
Để chạy tập lệnh mà chúng tôi đã tạo ở trên, bạn có thể gọi chương trình Python từ Dấu nhắc Lệnh và cho nó biết tập tin nào sẽ thực thi. Từ Dấu nhắc Lệnh, chỉ cần gõ
python script.py
Bạn sẽ thấy đầu ra Hello, World!
được in trực tiếp lên màn hình. Để biết thêm chi tiết về phương pháp này, hãy xem Cách mở và chạy tệp Python trong Terminal
Đây là phương pháp thực thi tập lệnh cơ bản nhất mà bạn nên làm quen. Bạn có thể phát triển toàn bộ dự án của mình trong Notepad và chạy tập lệnh theo cách này. Điều này hoàn toàn hợp pháp, nhưng đối với nhiều ứng dụng, đây không phải là phương pháp dễ dàng nhất
Chạy mã Python từ một IDE
Một cách hữu ích hơn nhiều để phát triển và chạy các dự án Python của bạn là sử dụng Môi trường phát triển tích hợp [IDE]. Để đọc một số thông tin cơ bản, hãy xem bài viết của chúng tôi 4 Trình chỉnh sửa mã và IDE Python tốt nhất. Khuyến nghị cá nhân của tôi là sử dụng Spyder [có sự kết hợp tốt giữa các tính năng và thân thiện với người dùng] nhưng bất kỳ IDE nào cũng được. Bạn có thể tải xuống Spyder tại đây
Khi bạn đã tải xuống và cài đặt xong, hãy mở Spyder để bắt đầu. Vì bạn đã viết sẵn kịch bản nên bạn chỉ cần mở nó trong trình chỉnh sửa. Để chạy tập lệnh, chỉ cần nhấp vào nút phát trên thanh công cụ trên cùng. Bạn sẽ thấy đầu ra được hiển thị trong bảng điều khiển tương tác
Sử dụng một IDE để phát triển và chạy các dự án Python của bạn là cách thuận tiện nhất để làm việc
Chạy Tập lệnh Python từ Trình quản lý tệp
Cách cuối cùng để chạy tập lệnh Python mà chúng ta sẽ thảo luận là nhấp đúp vào. tập tin py. Đây có thể là tùy chọn ít hữu ích nhất, nhưng nó có thể thuận tiện khi bạn đã phát triển và thử nghiệm đầy đủ dự án của mình. Nó cũng có thể yêu cầu một chút cấu hình
Bạn cần phải đảm bảo của bạn. tệp py được liên kết với python. người cũ. Nhấp chuột phải vào tệp .py
, chọn Mở bằng > Python. Bây giờ hãy thử bấm đúp vào tệp .py
. Bạn sẽ thấy Dấu nhắc Lệnh nhấp nháy nhanh, sau đó đóng lại. Để tránh điều này, bạn có thể thêm dòng sau vào cuối tập lệnh của mình
input['Press Enter to Continue']
Bây giờ tập lệnh sẽ dừng khi bạn nhấn phím Enter
Chạy tập lệnh Python trong Windows. Bước tiếp theo
Trong bài viết này, chúng tôi đã thảo luận về ba cách để chạy tập lệnh Python của bạn trong Windows. Đây là điều bạn cần làm thường xuyên để phát triển và kiểm tra chương trình của mình
Học bất cứ điều gì mới có thể là thách thức. Để biết một số mẹo về những cách tốt nhất để học Python, hãy xem bài viết của chúng tôi 5 mẹo để học Python từ đầu. Với một chút nỗ lực nhất quán, bạn sẽ trở thành bậc thầy về Python ngay lập tức
Đây không nhất thiết là một câu hỏi đơn giản. Nếu bạn đã quen với việc chạy các chương trình từ dòng lệnh Windows thì mọi thứ sẽ có vẻ rõ ràng;
Trừ khi bạn sử dụng một số loại môi trường phát triển tích hợp, nếu không thì cuối cùng bạn sẽ nhập các lệnh Windows vào thứ được gọi là “Cửa sổ nhắc 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 mình bằng cách tìm kiếm
D:\YourName\Projects\Python>
1. Bạn sẽ có thể nhận ra khi nào bạn đã khởi động một cửa sổ như vậy vì bạn sẽ thấy một “dấu nhắc lệnh” của Windows, thường giống như thế nàyC:\>
Bức thư có thể khác 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 đã sẵn sà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 có tên 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 mã byte, sau đó thực thi mã 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 trình thông dịch xử lý Python của bạn?
Trước 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” là hướng dẫn để khởi động 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
D:\YourName\Projects\Python>
2 và nhấn return________số 8_______
Sau đó, bạn sẽ 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 đã khởi động trình thông dịch ở “chế độ tương tác”. Đ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 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 tiện lợi nhưng có khả năng lập trình 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 hàm hoặc giữ phím Ctrl trong khi nhập Z, sau đó nhấn phím “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 mình có một mục trong menu Bắt đầu, chẳng hạn như Bắt đầu ‣ Chương trình ‣ Python 3. x ‣ Python [dòng lệnh] dẫn đến việc bạn nhìn thấy dấu nhắc
D:\YourName\Projects\Python>
4 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 hoặc nhập ký tự Ctrl-Z; . Bây giờ chúng ta biết lệnh
D:\YourName\Projects\Python>
2 đã được nhận dạng, bạn có thể cung cấp tập lệnh Python của mình cho lệnh đó. Bạn sẽ phải cung cấp đường dẫn tuyệt đối hoặc tương đối cho tập lệnh Python. Giả sử 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à D:\YourName\Projects\Python>
7 và dấu nhắc lệnh của bạn được mở độc đáo trong thư mục chính của bạn, vì vậy bạn sẽ thấy một cái gì đó tương tự nhưC:\Users\YourName>
Vì vậy, bây giờ bạn sẽ yêu cầu lệnh
D:\YourName\Projects\Python>
2 cung cấp tập lệnh của bạn cho Python bằng cách nhập D:\YourName\Projects\Python>
2, sau đó là đường dẫn tập lệnh của bạnC:\Users\YourName> py Desktop\hello.py hello
Trên Windows, trình cài đặt Python tiêu chuẩn đã liên kết. phần mở rộng py với một loại tệp [Python. File] và cung cấp cho loại tệp đó một lệnh mở để chạy trình thông dịch [
C:\Users\YourName> py
0]. Điều này là đủ để làm cho các tập lệnh có thể thực thi được từ dấu nhắc lệnh dưới dạng 'foo. py'. Nếu bạn muốn có thể thực thi tập lệnh bằng cách gõ đơn giản 'foo' mà không cần phần mở rộng, bạn cần thêm. py vào biến môi trường PATHEXTThông thường Python khởi động rất nhanh trên Windows, nhưng thỉnh thoảng có báo cáo lỗi Python đột nhiên khởi động rất lâu. Điều này thậm chí còn khó hiểu hơn vì Python sẽ hoạt động tốt trên các hệ thống Windows khác có vẻ như được cấu hình giống hệt nhau
Sự cố có thể do cấu hình sai của phần mềm kiểm tra vi-rút trên máy gặp sự cố. Một số trình quét vi-rút đã được biết là giới thiệu chi phí khởi động ở hai bậc độ lớn khi trình quét được định cấu hình để giám sát tất cả các lần đọc từ hệ thống tệp. Hãy thử kiểm tra cấu hình của phần mềm quét vi-rút trên 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 định cấu hình để quét tất cả hoạt động đọc của hệ thống tệp, là một kẻ vi phạm cụ thể
Xem danh sách các công cụ có thể được sử dụng để thực thi
Đúng,. các tệp pyd là dll, nhưng có một vài điểm khác biệt. Nếu bạn có một DLL tên là
C:\Users\YourName> py
2, thì nó phải có hàm C:\Users\YourName> py
3. Sau đó, bạn có thể viết Python "nhập foo" và Python sẽ tìm kiếm foo. pyd [cũng như foo. py, foo. pyc] và nếu nó tìm thấy, nó sẽ cố gắng gọi ___8_______3 để khởi tạo nó. Bạn không liên kết của bạn. exe với foo. lib, vì điều đó sẽ khiến Windows yêu cầu phải có DLLLư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. không cần phải có pyd để 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 một dll, thì 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
C:\Users\YourName> py
5. Trong một DLL, liên kết được khai báo trong mã nguồn với C:\Users\YourName> py
6. trong một. pyd, liên kết được xác định trong danh sách các chức năng có sẵnNhúng trình thông dịch Python vào ứng dụng Windows có thể được tóm tắt như sau
Không xây dựng Python vào của bạn. tập tin exe trực tiếp. Trên Windows, Python phải là một DLL để xử lý việc nhập các mô-đun mà chính chúng là DLL. [Đây là sự thật không có giấy tờ quan trọng đầu tiên. ] Thay vào đó, hãy liên kết tới
C:\Users\YourName> py
7; . NN là phiên bản Python, một số chẳng hạn như “33” cho Python 3. 3Bạn có thể liên kết với 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
C:\Users\YourName> py
9, trong khi liên kết thời gian chạy có nghĩa là liên kết vớiC:\Users\YourName> py
7. [Ghi chú chung.C:\Users\YourName> py
9 được gọi là “lib nhập khẩu” tương ứng vớiC:\Users\YourName> py
7. Nó chỉ định nghĩa các ký hiệu cho trình liên kết. ]Liên kết thời gian chạy đơn giản hóa rất nhiều tùy chọn liên kết; . Mã của bạn phải tải
C:\Users\YourName> py
7 bằng cách sử dụng quy trìnhPython 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 của Windows. Mã này cũng phải sử dụng các quy trình truy cập và dữ liệu trongC:\Users\YourName> py
7 [nghĩa là API C của Python] bằng cách sử dụng các con trỏ thu được từ quy trìnhPython 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 của Windows. Macro có thể làm cho việc sử dụng các con trỏ này trong suốt đối với bất kỳ mã C nào gọi các quy trình trong API C của PythonNếu bạn sử dụng SWIG, bạn có thể dễ dàng tạo một “mô-đun mở rộng” Python để cung cấp dữ liệu và phương thức của ứng dụng cho Python. SWIG sẽ xử lý tất cả các chi tiết khó chịu cho bạn. Kết quả là mã C mà bạn liên kết vào. tập tin exe [. ] Bạn không phải tạo tệp DLL và điều này cũng đơn giản hóa việc liên kết
SWIG sẽ tạo một hàm init [hàm 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à initleo[]. Nếu bạn sử dụng các lớp bóng tối SWIG, thì hàm init sẽ được gọi là initleoc[]. Điều này khởi tạo một lớp trợ giúp chủ yếu ẩn được sử dụng bởi lớp bóng tối
Lý do bạn có thể liên kết mã C ở bước 2 với. exe 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à sự thật quan trọng thứ hai không có giấy tờ. ]
Tóm lại, bạn có thể sử dụng đoạn 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.
Có hai vấn đề với API C của Python sẽ trở nên rõ ràng nếu bạn sử dụng trình biên dịch không phả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 hàm “Mức độ Rất cao” nhận 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. >>>
7 sẽ không hoạt động trong môi trường nhiều trình biên dịch vì khái niệm của mỗi trình biên dịch về mộtPython 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 sẽ khác nhau. Từ quan điểm triển khai, đây là các hàm cấp rất thấpvấn đề 2. SWIG tạo mã sau đây khi tạo trình bao bọc để vô hiệu hóa chức năng
Py_INCREF[Py_None]; _resultobj = Py_None; return _resultobj;
Than ôi, Py_None là một macro mở rộng thành tham chiếu đến cấu trúc dữ liệu phức tạp có tên _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 nhiều trình biên dịch. Thay thế mã đó bằng
return Py_BuildValue[""];
Có thể sử dụng lệ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. >>>
9 của SWIG để thực hiện thay đổi một cách tự động, mặc dù tôi chưa thể làm cho lệnh này hoạt động được [Tôi là một người mới hoàn toàn sử dụng SWIG]Sử dụng tập lệnh shell Python để tạo cửa sổ trình thông dịch Python từ bên trong ứng dụng Windows của bạn không phải là một ý kiến hay; . Thay vào đó, bạn [hoặc lớp wxPythonWindow] nên tạo một cửa sổ thông dịch “gốc”. 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 i/o của Python sang đối tượng _any_ hỗ trợ đọc và ghi, vì vậy tất cả những gì bạn cần là một đối tượng Python [được định nghĩa trong mô-đun mở rộng của bạn] có chứa các phương thức read[] và write[]
Câu hỏi thường gặp không khuyến nghị sử dụng tab và hướng dẫn kiểu Python, PEP 8, đề xuất 4 khoảng trắng cho mã Python phân tán;
Dưới bất kỳ trình chỉnh sửa nào, trộn lẫn các tab và dấu cách là một ý tưởng tồi. MSVC không có gì khác biệt về mặt này và được cấu hình dễ dàng để sử dụng khoảng trắng. Chọn Công cụ ‣ Tùy chọn ‣ Tab và đối với loại tệp “Mặc định”, đặt “Kích thước tab” và “Kích thước thụt lề” thành 4 và chọn “Chèn .
Python tăng hoặc nếu các tab và khoảng trắng hỗn hợp đang gây ra sự cố trong khoảng trắng ở đầu. Bạn cũng có thể chạy mô-đun để kiểm tra cây thư mục ở chế độ hàng loạt
sử dụng mô-đun. Đây là mô-đun mở rộng tiêu chuẩn dành riêng cho Windows. Nó định nghĩa một hàm
>>> print["Hello"] Hello >>> "Hello" * 3 'HelloHelloHello'4 để kiểm tra xem có gõ bàn phím hay không và
>>> print["Hello"] Hello >>> "Hello" * 3 'HelloHelloHello'5 nhận một ký tự mà không lặp lại ký tự đó
Điều này có thể xảy ra trên Python 3. 5 trở lên khi sử dụng Windows 8. 1 hoặc cũ hơn mà chưa cài đặt tất cả các bản cập nhật. Trước tiên, hãy đảm bảo hệ điều hành của bạn được hỗ trợ và cập nhật, đồng thời nếu điều đó không giải quyết được sự cố, hãy truy cập trang hỗ trợ của Microsoft để được hướng dẫn cài đặt bản cập nhật C Runtime theo cách thủ công