2013-07-19 30 views
7

Tôi mới làm quen với lập trình và Python là ngôn ngữ đầu tiên của tôi. Tôi đã thêm Python vào Đường dẫn của mình, nhưng khi tôi sử dụng Dấu nhắc Lệnh, tôi không phải thêm python trước myscript.py như trái ngược với nhiều hướng dẫn tôi đã thấy. Dưới đây là một ví dụ:Tại sao tôi không phải thêm 'python' trước khi gọi tập lệnh Python?

C:\User\MyName>Welcome.py 
Welcome to Python 
Python is fun 

Khi tôi nhập 'trăn', có một lỗi sau:

C:\User\MyName>python Welcome.py 
python: can't open file 'Welcome.py': [Errno 2] No such file or directory 

Tôi có thực sự cần những 'trăn'? Cảm ơn bạn trước!

+1

Điều này có xảy ra với bất kỳ tệp '.py' nào bạn có hoặc chỉ' Welcome.py'? (Tôi đã có một linh cảm ...) – 2rs2ts

+0

Điều này đã xảy ra với tất cả các tệp .py Tôi có – user78338

+3

'assoc .py' hiển thị khi chạy trong dấu nhắc lệnh? –

Trả lời

1

Có và không.
Nó thực sự phụ thuộc vào cách viết kịch bản.

Trên hầu hết các hệ thống Unix (Linux, Mac OS), bạn có thể bao gồm #!/bin/python lên trên cùng (làm dòng đầu tiên) tập lệnh của bạn và do đó thực thi nó bằng cách chỉ cần gọi tên tệp trên dòng lệnh. Dòng đầu tiên đó cho biết rằng tệp này chứa một chương trình python. Shell sau đó sử dụng trình thông dịch python để thực thi tệp (dịch: nó dịch $ Welcome.py thành $ /bin/python Welcome.py < - lưu ý rằng python đang được gọi một cách rõ ràng và nó giống với đường dẫn đầu tiên của tệp của bạn).

Có lẽ, hệ điều hành Windows cũng có thể được hướng dẫn theo cùng một cách, mặc dù tôi chưa bao giờ tự làm được, cũng không phải tôi đã cố gắng hết sức (tôi đã rời khỏi cửa sổ khoảng 5 năm trước). Đây là lý do tại sao bạn cần gọi rõ ràng python.
Gọi python cho hệ điều hành: "hey! Mở chương trình đó gọi là python và yêu cầu nó chạy tệp Welcome.py". Đây là chính xác những gì lệnh /bin/python Welcome.py thực hiện trên hệ thống Unix

+3

Ngoại trừ vấn đề này là trên Windo ws, vậy ... –

+0

@RiazRizvi: được cấp. Đó là lý do tại sao tôi đã hoài nghi về việc đăng bài này ngay từ đầu. Nhưng sau đó tôi nghĩ rằng đó là thông tin hợp lệ và cung cấp một số thông tin chi tiết về những gì đang diễn ra. Tôi cũng hy vọng rằng một người biết nhiều hơn tôi sẽ làm mối liên kết trong phần mà tôi đã bỏ lỡ. Tôi đăng bài này không phải cho đại diện, nhưng cho thông tin được ra khỏi đó. Xin vui lòng cho tôi biết nếu bạn nghĩ rằng nó không nên ở đây (và nếu đó là một ý kiến ​​phổ biến) và, tôi sẽ xóa nó – inspectorG4dget

+0

Trong Windows, tôi nghĩ bạn phải thêm 'python.exe' (thường trong' C: \ Python33' hoặc một cái gì đó như thế) để 'PATH' để đạt được như vậy. – 2rs2ts

3

Nếu bạn theo sau Python on Windows FAQ, có vẻ như trình cài đặt Python chuẩn đã lấy quyền tự do associating .py files bằng lệnh mở tới ..\..\Python\python.exe "%1" %*.

How do I make Python scripts executable?

On Windows, the standard Python installer already associates the .py extension with a file type (Python.File) and gives that file type an open command that runs the interpreter (D:\Program Files\Python\python.exe "%1" %*). This is enough to make scripts executable from the command prompt as ‘foo.py’. If you’d rather be able to execute the script by simple typing ‘foo’ with no extension you need to add .py to the PATHEXT environment variable.

Ai có thunk! Đây không phải là cách nó được sử dụng để được bốn năm trước đây khi tôi lần đầu tiên cài đặt Python trên máy tính Windows của tôi.

1

Khi bạn cài đặt python trên cửa sổ với trình cài đặt thông thường, các tệp .py được liên kết với python.exe bạn đã cài đặt. Khi bạn gõ Welcome.py, Windows tìm kiếm thư mục cục bộ và sau đó tất cả các đường dẫn trong biến PATH cho một chương trình có tên là Welcome.py và chạy nó thông qua python. Vì điều này làm việc cho bạn, điều đó có nghĩa là Welcome.py ở đâu đó trên đường dẫn của bạn hoặc trong thư mục cục bộ của bạn.

Bạn có thể tìm ra các liên kết tệp của mình bằng các lệnh assoc .pyftype Python.File. Các lệnh echo %PATH%echo %PATHEXT% cũng hữu ích.

Khi bạn nhập python Welcome.py, Windows sẽ tìm tất cả đường dẫn trong biến PATH cho chương trình bắt đầu bằng 'python' và kết thúc bằng phần mở rộng trong PATHEXT. Nó tìm thấy 'python.exe' và chạy nó. Python lần lượt tìm kiếm một kịch bản có tên là Welcome.py trong thư mục hiện hành. Vì điều này không hiệu quả với bạn, điều đó có nghĩa là Welcome.py không nằm trong thư mục cục bộ của bạn. Nó sẽ có tác dụng nếu bạn đã đưa ra con đường đúng đắn để Welcome.py.

Bạn có thể tìm hiểu xem Welcome.py ở đâu với lệnh (không đáng ngạc nhiên) where Welcome.py.

Nếu bạn chỉ có một cài đặt python đơn, không cần phải gọi python myscript.py ....

Các vấn đề liên quan