Chạy tệp Python trong Terminal


47

Cố gắng học cách chạy tập lệnh của tôi thông qua thiết bị đầu cuối của Ubuntu. Điều đó được cho biết tôi quen thuộc với bash, wgetawkđược gọi nhưng làm thế nào để gọi file python để chạy trong nhà ga? Tôi muốn tìm hiểu điều này nhưng tôi không chắc chắn nơi để nghiên cứu nó. Tôi có một .pywtệp tham chiếu một số .pytệp trong một thư mục.


Trường hợp khác biệt sau đây vì tiêu đề ban đầu quá chung chung bao gồm nó - về việc chạy tập lệnh python trong terminal để gọi hàm stackoverflow.com/q/25837063/54964
Léo Léopold Hertz

Câu trả lời:


81

Cách 1: Gọi thông dịch viên

  • Đối với Python 2: python <filename>.py
  • Đối với Python 3: python3 <filename>.py

Tùy chọn 2: Để kịch bản gọi trình thông dịch

  1. Hãy chắc chắn rằng dòng đầu tiên của tập tin của bạn có #!/usr/bin/env python.
  2. Làm cho nó thực thi - chmod +x <filename>.py.
  3. Và chạy nó như ./<filename>.py

Lý do là gì, khi tôi muốn chạy .py của nó, nó chỉ hoạt động với tùy chọn phương thức 1 của bạn và cách thứ hai đưa ra lỗi cú pháp?
Krsztr

Nếu bạn muốn mở một tập tin python mới thì sao ??
asmgx

8

Chỉ cần tiền tố tên tệp của tập lệnh với python. Ví dụ:

python filename.py

5

Điều đáng nói là bằng cách thêm một -icờ sau python, bạn có thể giữ phiên của mình chạy để mã hóa thêm. Như thế này:

python -i <file_name.py>

3
python <filename.py>

pyw nên chạy theo cách tương tự, tôi nghĩ. Bạn cũng có thể bắt đầu một bảng điều khiển tương tác chỉ với

python

Ngoài ra, bạn có thể tránh phải gọi python một cách rõ ràng bằng cách thêm một shebang ở đầu tập lệnh:

#!/usr/bin/env python

... hoặc bất kỳ số lượng biến thể của chúng


2

Lần chạy đầu tiên sau lệnh

chmod +x <filename>.py

Sau đó, ở đầu tập lệnh, thêm #!và đường dẫn của trình thông dịch Python:

#!/usr/bin/python

Nếu bạn muốn tập lệnh độc lập với nơi trình thông dịch Python sống, bạn có thể sử dụng envchương trình. Hầu như tất cả các biến thể Unix đều hỗ trợ như sau, giả sử trình thông dịch Python có trong một thư mục trong người dùng $PATH:

#! /usr/bin/env python

0

Thay đổi thư mục bằng cdthư mục chứa .py và chạy một trong hai lệnh sau:

python <filename>.py  # for Python 2.x  
python3 <filename>.py # for Python 3.x 

Hoặc chạy một trong hai lệnh sau:

python /path/to/<filename>.py  # for Python 2.x  
python3 /path/to/<filename>.py # for Python 3.x 

-2

Hãy thử sử dụng lệnh python3thay vì python. Nếu tập lệnh được viết bằng Python3 và bạn cố chạy nó với Python2, bạn có thể gặp vấn đề. Ubuntu có cả hai; thay đổi tên chương trình thành python3(thay vì thay thế python) đã thực hiện điều này. Ubuntu cần v2.7 (kể từ ngày 16/2/2017) vì vậy KHÔNG xóa hoặc xóa Python2, nhưng giữ cả hai. Tạo thói quen sử dụng Python3 để chạy các tập lệnh, có thể chạy một trong hai.


1
-1 Python 3 không thể chạy tập lệnh Python 2 (với một vài ngoại lệ).
wjandrea

Xấu của tôi, quyền của bạn Có lẽ đó là lý do tại sao Ubuntu vẫn sử dụng python 2. Xin lỗi wjandrea, cảm ơn vì đã sửa lỗi cho tôi.
Tony
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.