Tôi đã thử googling câu trả lời nhưng không có may mắn.
Tôi cần sử dụng máy chủ SuperComputer hoạt động của mình, nhưng để tập lệnh Python của tôi chạy, nó phải được thực thi thông qua tập lệnh shell.
Ví dụ: tôi muốn
#!/bin/bash
python hello.py
2 thực thi #!/bin/bash
python hello.py
3Làm thế nào điều này có thể được thực hiện?
Hỏi ngày 7 tháng 12 năm 2010 lúc 13:30Dec 7, 2010 at 13:30
5
Chỉ cần đảm bảo rằng thực thi Python có trong biến môi trường đường dẫn của bạn sau đó thêm vào tập lệnh của bạn
python path/to/the/python_script.py
Details:
- Trong công việc tập tin.sh, đặt cái này
#!/bin/sh python python_script.py
- Thực hiện lệnh này để làm cho tập lệnh có thể chạy được cho bạn:
4#!/bin/bash python hello.py
- Chạy nó:
5#!/bin/bash python hello.py
Đã trả lời ngày 7 tháng 12 năm 2010 lúc 13:34Dec 7, 2010 at 13:34
4
Phương pháp 1 - Tạo tập lệnh shell:
Giả sử bạn có một tệp python
#!/bin/bash
python hello.py
6 tạo một tệp có tên #!/bin/bash
python hello.py
2 có chứa#!/bin/bash
python hello.py
Đánh dấu nó thực thi bằng cách sử dụng
$ chmod +x job.sh
Sau đó chạy nó
$ ./job.sh
Phương pháp 2 [tốt hơn] - Làm cho Python tự chạy từ Shell:
Sửa đổi tập lệnh của bạn
#!/bin/bash
python hello.py
8 và thêm nó làm dòng đầu tiên#!/usr/bin/env python
Đánh dấu nó thực thi bằng cách sử dụng
$ chmod +x hello.py
Sau đó chạy nó
$ ./hello.py
Phương pháp 2 [tốt hơn] - Làm cho Python tự chạy từ Shell:Dec 7, 2010 at 13:54
Sửa đổi tập lệnh của bạn
#!/bin/bash
python hello.py
8 và thêm nó làm dòng đầu tiênJoão VíctorĐã trả lời ngày 7 tháng 12 năm 2010 lúc 13:541 gold badge9 silver badges4 bronze badges
2
João Víctorjoão Víctor
# !/bin/bash
python /home/user/scriptname.py
1.6511 huy hiệu vàng9 Huy hiệu bạc
Bạn sẽ có thể gọi nó dưới dạng
#!/bin/bash
python hello.py
9, ví dụ:
Cũng đảm bảo tập lệnh có quyền chạy.
Bạn có thể làm cho nó thực thi bằng cách sử dụng
0.8 silver badges22 bronze badges$ chmod +x job.sh
NandDec 7, 2010 at 13:36
6578 Huy hiệu bạc22 Huy hiệu ĐồngShpongle
Đã trả lời ngày 7 tháng 12 năm 2010 lúc 13:361 gold badge9 silver badges14 bronze badges
Shpongleshpongle
python /path/to/script.py
8931 Huy hiệu vàng9 Huy hiệu bạc14 Huy hiệu đồng
#!/bin/sh
python python_script.py
0Imho, viết
Là khá sai, đặc biệt là trong những ngày này. Python nào? Python2.6? 2.7? 3.0? 3.1? Hầu hết các lần bạn cần chỉ định phiên bản Python trong thẻ Shebang của tệp Python. Tôi khuyến khích sử dụng
#!/bin/sh
python python_script.py
1cho khả năng tương thích.python points to python3, while most people expect it pointing to python2.
Trong trường hợp như vậy, tốt hơn nhiều là có thể thực thi tập lệnh và gọi nó trực tiếp:Dec 7, 2010 at 15:08
Bằng cách này, phiên bản Python bạn cần chỉ được viết trong một tệp. Hầu hết các hệ thống ngày nay đang có Python2 và Python3 trong lúc này, và điều xảy ra là Symlink Python chỉ ra Python3, trong khi hầu hết mọi người mong đợi nó chỉ vào Python2.Enrico Carlesso
Đã trả lời ngày 7 tháng 12 năm 2010 lúc 15:084 gold badges33 silver badges41 bronze badges
2
Enrico Carlessoenrico Carlesso
#!/bin/sh
python python_script.py
26.7404 Huy hiệu vàng33 Huy hiệu bạc41 Huy hiệu đồng
#!/bin/sh
python python_script.py
3
Lưu chương trình sau đây là
$ chmod +x job.sh
1:Mar 8, 2018 at 9:42
Sau đó trong loại thiết bị đầu cuối:Nishant Ingle
Đã trả lời ngày 8 tháng 3 năm 2018 lúc 9:421 gold badge7 silver badges11 bronze badges
Inglenishant inglenishant
6451 huy hiệu vàng7 Huy hiệu bạc
3$ chmod +x job.sh
Điều này làm việc cho tôi:
5$ chmod +x job.sh
6$ chmod +x job.sh
Tạo một công việc tệp shell mới. Vì vậy, giả sử:
$ chmod +x job.sh
2 và thêm lệnh để chạy tập lệnh Python [thậm chí bạn có thể thêm các đối số dòng lệnh vào python đó, tôi thường xác định trước các đối số dòng lệnh của mình].$ chmod +x job.sh
7$ chmod +x job.sh
8Bên trong
#!/bin/bash
python hello.py
2 Thêm các tệp PY sau, giả sử:Đầu ra của công việc.sh trông như thế này: Just a quick heads up on what's going on here:
#!/bin/sh
python python_script.py
4- Tôi thường sử dụng điều này khi tôi phải chạy nhiều tệp python với các đối số khác nhau, được xác định trước.
- Lưu ý: Chỉ cần nhanh chóng lên tới những gì đang diễn ra ở đây:
- Ở đây Shell Script sẽ chạy tệp python_file.py và thêm nhiều đối số dòng lệnh khi chạy vào tệp python.>> will print and store the output of this .py file in the testpy-output.txt file.
- Điều này không nhất thiết có nghĩa là, bạn cũng phải vượt qua các đối số dòng lệnh. is a logical operator that will run only after the above is executed successfully and as an optional echo "completed with python_file.py" will be echoed on to your cli/terminal at run time.
Bạn chỉ có thể sử dụng nó như:
$ chmod +x job.sh
9, đơn giản và đơn giản. Tiếp theo, >> sẽ in và lưu trữ đầu ra của tệp .py này trong tệp testpy-output.txt.Sep 12, 2016 at 6:05
&& là một toán tử logic sẽ chỉ chạy sau khi các điều trên được thực thi thành công và như một tiếng vang tùy chọn "hoàn thành với python_file.py" sẽ được lặp lại với CLI/thiết bị đầu cuối của bạn khi chạy.geekidharsh
Đã trả lời ngày 12 tháng 9 năm 2016 lúc 6:051 gold badge19 silver badges23 bronze badges
Geekidharshgeekidharsh
#!/bin/sh
python python_script.py
53,4291 Huy hiệu vàng19 Huy hiệu bạc23 Huy hiệu đồng
#!/bin/sh
python python_script.py
6Điều này phù hợp nhất với tôi: Thêm điều này ở đầu tập lệnh:Jul 21, 2015 at 4:12
.peterb
Đã trả lời ngày 21 tháng 7 năm 2015 lúc 4:128 silver badges7 bronze badges
1
Peterbpeterb
#!/bin/sh
python python_script.py
78418 Huy hiệu bạc7 Huy hiệu đồngDec 29, 2017 at 2:04
Tôi sử dụng cái này và nó hoạt động tốt
Here is a way how to execute a python script from another python script:
Đã trả lời ngày 29 tháng 12 năm 2017 lúc 2:04
#!/bin/sh
python python_script.py
8Vì các bài viết khác nói tất cả mọi thứ [và tôi tình cờ thấy bài đăng này trong khi tìm kiếm những điều sau đây]. Dưới đây là cách thực hiện tập lệnh Python từ một tập lệnh Python khác:
#!/bin/sh
python python_script.py
9Python 2:
Python 3:Sep 5, 2018 at 6:45
và bạn có thể cung cấp ARG bằng cách cung cấp một số
$ ./job.sh
0 khácdCSevenĐã trả lời ngày 5 tháng 9 năm 2018 lúc 6:455 silver badges17 bronze badges
DCSEVENDCSEVEN
6855 Huy hiệu bạc17 Huy hiệu đồng
Ở đây tôi đã trình bày một ví dụ để chạy tập lệnh
$ ./job.sh
1 trong tập lệnh $ ./job.sh
2. Đối với các mục đích khác nhau, bạn có thể cần đọc đầu ra từ $ ./job.sh
3, thực thi cả lệnh $ ./job.sh
1 và lệnh $ ./job.sh
2 trong cùng một tệp.#!/bin/bash
python hello.py
0References:
- Thực hiện chương trình Python từ bên trong tập lệnh shell
- Gán đầu ra của hệ điều hành cho một biến và ngăn không thể hiển thị trên màn hình
Đã trả lời ngày 19 tháng 9 lúc 15:37Sep 19 at 15:37
hafiz031hafiz031hafiz031
2.0123 Huy hiệu vàng22 Huy hiệu bạc44 Huy hiệu đồng3 gold badges22 silver badges44 bronze badges
Nếu bạn có tập lệnh bash và bạn cần chạy bên trong đó một tập lệnh Python3 [với các mô -đun bên ngoài], tôi khuyên bạn nên chỉ vào tập lệnh Bash của bạn vào đường dẫn Python của bạn như thế này.
#!/bin/bash
python hello.py
1Đã trả lời ngày 20 tháng 9 lúc 10:38Sep 20 at 10:38
AdelinoadelinoAdelino
1.7404 Huy hiệu vàng15 Huy hiệu bạc31 Huy hiệu đồng4 gold badges15 silver badges31 bronze badges