Tôi đã mất một số nỗ lực để tìm kiếm câu trả lời ở đây, trên web và trong tài liệu Python và tự mình kiểm tra, để cuối cùng các tập lệnh Python của tôi hoạt động trơn tru trên các máy Windows của tôi (WinXP và Win7). Vì vậy, tôi chỉ viết blog về nó và dán nó dưới đây trong trường hợp nó hữu ích cho người khác. Xin lỗi, nó dài và cảm thấy thoải mái để cải thiện nó; Tôi không phải là chuyên gia.
[ CẬP NHẬT : Python 3.3 hiện bao gồm Trình khởi chạy Python cho Windows, cho phép bạn nhập py (chứ không phải python) để gọi trình thông dịch mặc định hoặc py -2, py -3, py -2.7, v.v. Nó cũng hỗ trợ các dòng shebang , cho phép chính kịch bản chỉ định. Đối với các phiên bản trước 3.3, trình khởi chạy có sẵn dưới dạng tải xuống riêng biệt.
http://docs.python.org/3/whatsnew/3.3.html
]
Chạy các kịch bản Python thuận tiện trong Windows
Có thể bạn đang tạo tập lệnh Python của riêng mình hoặc có thể ai đó đã cho bạn một tập lệnh để làm điều gì đó với các tệp dữ liệu của bạn. Giả sử bạn đã có được tập lệnh Python và đã lưu nó vào "D: \ my scripts \ ApplyRE.py". Bạn muốn chạy nó một cách thuận tiện bằng cách bấm đúp vào nó hoặc gõ nó vào dòng lệnh từ bất kỳ vị trí nào, với tùy chọn truyền tham số cho nó như thế này (-o có nghĩa là "ghi đè tệp đầu ra nếu nó đã tồn tại"):
ApplyRE infile.txt outfile.txt -o
Giả sử bạn cũng có một tệp dữ liệu, "C: \ some files \ some lexicon.txt". Tùy chọn đơn giản nhất là di chuyển tệp hoặc tập lệnh sao cho chúng ở cùng một vị trí, nhưng điều đó có thể trở nên lộn xộn, vì vậy hãy giả sử rằng chúng sẽ nằm riêng biệt.
Đảm bảo Windows có thể tìm thấy trình thông dịch Python
Sau khi cài đặt Python, hãy xác minh rằng việc nhập python vào một dấu nhắc lệnh hoạt động (và sau đó nhập exit () để thoát khỏi trình thông dịch Python).
C:\>python
Python 3.2 (r32:88445, Feb 20 2011, 21:29:02) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
C:\>
Nếu điều này không hoạt động, bạn sẽ cần phải thêm một cái gì đó như "; C: \ Python32" (không có dấu ngoặc kép) vào biến môi trường PATH. Xem PATHEXT dưới đây để được hướng dẫn.
Liên kết Python với .py và .pyc
Xác minh rằng nhấp đúp vào ApplyRE.py sẽ chạy nó. (Nhân tiện, nó cũng phải có biểu tượng Python làm biểu tượng của nó và được gắn nhãn "Tệp Python".) Nếu điều này chưa được thực hiện, nhấp chuột phải vào tệp .py, chọn Mở bằng, Chọn Chương trình và kiểm tra "Luôn luôn sử dụng ..." Liên kết này cải thiện sự tiện lợi nhưng không thực sự cần thiết - bạn có thể chỉ định "python" mỗi khi bạn muốn chạy một tập lệnh, như thế này:
D:\my scripts>python ApplyRE.py lexicon-sample.txt -o
Running... Done.
Đây là một biến thể rất cụ thể, là tùy chọn trừ khi bạn cần chỉ định một phiên bản khác của trình thông dịch.
D:\my scripts>c:\python32\python ApplyRE.py lexicon-sample.txt -o
Running... Done.
Nhưng đó là một nỗi đau. May mắn thay, một khi Python được cài đặt, trong PATH và được liên kết với .py, sau đó bấm đúp vào tệp .py hoặc gõ trực tiếp vào nó như một lệnh sẽ hoạt động tốt. Ở đây, chúng tôi dường như đang chạy tập lệnh trực tiếp - thật tuyệt và đơn giản để chạy tập lệnh trên một tệp mẫu nằm trong thư mục "tập lệnh của tôi" cùng với tập lệnh.
D:\my scripts>ApplyRE.py lexicon-sample.txt -o
Running... Done.
Bỏ qua phần mở rộng .py (chỉnh sửa PATHEXT)
Để tiếp tục giảm việc nhập, bạn có thể nói với Windows rằng .py (và có lẽ các tệp .pyc) có thể thực thi được. Để thực hiện việc này, bấm chuột phải vào Máy tính và chọn Thuộc tính, Nâng cao, Biến môi trường, Biến hệ thống. Nối "; .PY; .PYC" (không có dấu ngoặc kép) vào biến PATHEXT hiện có hoặc nếu không, hãy tạo nó nếu bạn xác nhận nó chưa tồn tại. Đóng và mở lại dấu nhắc lệnh. Bây giờ bạn có thể bỏ qua .py (FYI, làm như vậy sẽ khiến ApplyRE.exe hoặc ApplyRE.bat chạy thay thế, nếu có tồn tại).
D:\my scripts>ApplyRE lexicon-sample.txt -o
Running... Done.
Thêm tập lệnh vào hệ thống PATH
Nếu bạn sẽ sử dụng tập lệnh của mình thường xuyên từ dấu nhắc lệnh (sẽ ít quan trọng hơn nếu thực hiện bằng cách sử dụng tệp BAT), thì bạn sẽ muốn thêm thư mục tập lệnh của mình vào hệ thống PATH. (Bên cạnh PATHEXT, bạn sẽ thấy biến PATH; nối thêm "; D: \ tập lệnh của tôi" vào đó, không có dấu ngoặc kép.)
C:\some files>ApplyRE "some lexicon.txt" "some lexicon OUT.txt" -o
Running... Done.
Sự thành công! Đó là khá nhiều tất cả những gì bạn cần làm để hợp lý hóa dòng lệnh.
Chạy trực tiếp mà không cần điều chỉnh PATH
Nếu bạn là người đánh máy nhanh hoặc không ngại tạo một tệp bó cho từng tình huống, bạn có thể chỉ định các đường dẫn đầy đủ (cho tập lệnh hoặc cho các tham số) thay vì điều chỉnh PATH.
C:\some files>"d:\my scripts\ApplyRE.py" "some lexicon.txt" "some lexicon OUT.txt" -o
Running... Done.
C:\some files>d:
D:\>cd "my scripts"
D:\my scripts>ApplyRE.py "c:\some files\some lexicon.txt" "c:\some files\some lexicon OUT.txt" -o
Running... Done.
Tạo các phím tắt hoặc tệp bó
Nếu .py được liên kết với một Python đã cài đặt, bạn chỉ cần nhấp đúp vào ApplyRE.py để chạy nó, nhưng bảng điều khiển có thể xuất hiện và biến mất quá nhanh để đọc đầu ra của nó (hoặc thất bại!). Và để truyền tham số, trước tiên bạn cần thực hiện một trong các thao tác sau. (a) Nhấp chuột phải và tạo lối tắt. Nhấp chuột phải vào phím tắt để chỉnh sửa thuộc tính và nối các tham số vào Target. (b) Tạo một tệp bó - một tệp văn bản đơn giản với một tên riêng biệt, chẳng hạn như ApplyRErun.bat. Tùy chọn này có thể tốt hơn bởi vì bạn có thể yêu cầu nó tạm dừng để bạn có thể thấy đầu ra. Dưới đây là nội dung của tệp BAT mẫu, được viết để được định vị và chạy từ c: \ một số tệp.
python "d:\my scripts\ApplyRE.py" "some lexicon.txt" "some lexicon OUT.txt" -o
pause
Nâng cao: nối thêm vào PYTHONPATH
Điều này thường không cần thiết, nhưng một biến môi trường khác có thể có liên quan là PYTHONPATH. Nếu chúng ta nối thêm d: \ script của tôi vào biến đó, thì các script Python khác ở các vị trí khác có thể sử dụng chúng thông qua các câu lệnh nhập.