Hướng dẫn python run another program - python chạy chương trình khác

Làm cách nào để tạo một tệp python để chạy một tệp khác?

Nội phân Chính showShow

  • Nhận một tệp Python để chạy một tệp khác, sử dụng Python 2.7.3 và Ubuntu 12.10:
  • Làm cách nào để liên kết hai chương trình Python?
  • Làm cách nào để chạy kịch bản Python từ một thư mục khác?
  • Làm cách nào để sử dụng một hàm từ một tệp khác trong Python?
  • Bạn có thể gọi một kịch bản Python từ Java không?

Ví dụ tôi có hai tệp .py. Tôi muốn một tệp được chạy, và sau đó để nó chạy tệp .py khác.

Hướng dẫn python run another program - python chạy chương trình khác

wj127

1181 Huy hiệu bạc12 Huy hiệu đồng1 silver badge12 bronze badges

Đã hỏi ngày 2 tháng 11 năm 2011 lúc 1:29Nov 2, 2011 at 1:29

Nathan Tornquistnathan TornquistNathan Tornquist

6.16810 Huy hiệu vàng46 Huy hiệu bạc72 Huy hiệu đồng10 gold badges46 silver badges72 bronze badges

4

Có nhiều hơn một vài cách. Tôi sẽ liệt kê chúng theo thứ tự ưu tiên đảo ngược (tức là, tốt nhất trước, tồi tệ nhất cuối cùng):

  1. Đối xử với nó như một mô -đun:
    #!/usr/bin/python
    print("hello")
    
    0. Điều này là tốt vì nó an toàn, nhanh chóng và có thể bảo trì. Mã được sử dụng lại như được cho là phải thực hiện. Hầu hết các thư viện Python chạy bằng nhiều phương thức trải dài trên nhiều tệp. Rất khuyến khích. Lưu ý rằng nếu tệp của bạn được gọi là
    #!/usr/bin/python
    print("hello")
    
    1,
    #!/usr/bin/python
    print("hello")
    
    2 của bạn không nên bao gồm tiện ích mở rộng
    #!/usr/bin/python
    print("hello")
    
    3 ở cuối.
    #!/usr/bin/python
    print("hello")
    
    0. This is good because it's secure, fast, and maintainable. Code gets reused as it's supposed to be done. Most Python libraries run using multiple methods stretched over lots of files. Highly recommended. Note that if your file is called
    #!/usr/bin/python
    print("hello")
    
    1, your
    #!/usr/bin/python
    print("hello")
    
    2 should not include the
    #!/usr/bin/python
    print("hello")
    
    3 extension at the end.
  2. Lệnh thực thi khét tiếng (và không an toàn): không an toàn, hacky, thường là câu trả lời sai. Tránh nếu có thể. Insecure, hacky, usually the wrong answer. Avoid where possible.
    • #!/usr/bin/python
      print("hello")
      
      4 trong Python 2
    • #!/usr/bin/python
      print("hello")
      
      5 trong Python 3
  3. Spawn một quy trình vỏ:
    #!/usr/bin/python
    print("hello")
    
    6. Sử dụng khi tuyệt vọng.
    #!/usr/bin/python
    print("hello")
    
    6. Use when desperate.

Đã trả lời ngày 2 tháng 11 năm 2011 lúc 3:27Nov 2, 2011 at 3:27

20

Nhận một tệp Python để chạy một tệp khác, sử dụng Python 2.7.3 và Ubuntu 12.10:

  1. Làm cách nào để liên kết hai chương trình Python?

    #!/usr/bin/python
    import yoursubfile
    
  2. Làm cách nào để chạy kịch bản Python từ một thư mục khác?

    #!/usr/bin/python
    print("hello")
    
  3. Làm cách nào để sử dụng một hàm từ một tệp khác trong Python?

    python main.py 
    
  4. Bạn có thể gọi một kịch bản Python từ Java không?

    hello
    

Ví dụ tôi có hai tệp .py. Tôi muốn một tệp được chạy, và sau đó để nó chạy tệp .py khác.

1181 Huy hiệu bạc12 Huy hiệu đồng

Đã hỏi ngày 2 tháng 11 năm 2011 lúc 1:29

Nathan Tornquistnathan Tornquist7 gold badges46 silver badges66 bronze badges

6.16810 Huy hiệu vàng46 Huy hiệu bạc72 Huy hiệu đồngDec 8, 2013 at 18:14

Có nhiều hơn một vài cách. Tôi sẽ liệt kê chúng theo thứ tự ưu tiên đảo ngược (tức là, tốt nhất trước, tồi tệ nhất cuối cùng):Eric Leschinski

Đối xử với nó như một mô -đun:

#!/usr/bin/python
print("hello")
0. Điều này là tốt vì nó an toàn, nhanh chóng và có thể bảo trì. Mã được sử dụng lại như được cho là phải thực hiện. Hầu hết các thư viện Python chạy bằng nhiều phương thức trải dài trên nhiều tệp. Rất khuyến khích. Lưu ý rằng nếu tệp của bạn được gọi là
#!/usr/bin/python
print("hello")
1,
#!/usr/bin/python
print("hello")
2 của bạn không nên bao gồm tiện ích mở rộng
#!/usr/bin/python
print("hello")
3 ở cuối.90 gold badges405 silver badges327 bronze badges

7

Lệnh thực thi khét tiếng (và không an toàn): không an toàn, hacky, thường là câu trả lời sai. Tránh nếu có thể.

from subprocess import call
call(["python", "your_file.py"])

#!/usr/bin/python
print("hello")
4 trong Python 2Jul 12, 2017 at 3:38

6

  • #!/usr/bin/python
    print("hello")
    
    5 trong Python 3

import os 
os.system('python filename.py')

Spawn một quy trình vỏ:

#!/usr/bin/python
print("hello")
6. Sử dụng khi tuyệt vọng.

Đã trả lời ngày 2 tháng 11 năm 2011 lúc 3:27Jan 23, 2016 at 19:46

Đặt cái này vào Main.py:Ayser

Đặt cái này vào của bạn11 silver badges15 bronze badges

4

Chạy nó:

def run(runfile):
  with open(runfile,"r") as rnf:
    exec(rnf.read())

Syntax:

run("file.py")

Nó in:Apr 16, 2017 at 15:26

4

Do đó

#!/usr/bin/python
print("hello")
7 chạy
#!/usr/bin/python
print("hello")
8

Có 8 cách để trả lời câu hỏi này, một câu trả lời kinh điển hơn ở đây: Làm thế nào để nhập các tệp Python khác?Nov 2, 2011 at 1:37

JonathanAdam Zalcman

6.2977 Huy hiệu vàng46 Huy hiệu bạc66 Huy hiệu Đồng4 gold badges68 silver badges91 bronze badges

Đã trả lời ngày 8 tháng 12 năm 2013 lúc 18:14

#!/usr/bin/python
import abc

Eric Leschinskieric Leschinski

print'abc'

Lioness100

139K90 Huy hiệu vàng405 Huy hiệu bạc327 Huy hiệu đồng5 gold badges15 silver badges46 bronze badges

Tôi đã sử dụng quy trình phụJun 1, 2017 at 19:19

1

Làm cách nào để liên kết hai chương trình Python?

Đã trả lời ngày 12 tháng 7 năm 2017 lúc 3:38.

Bạn có thể chạy tệp .py của mình chỉ bằng mã này:

Lưu ý: Đặt tệp vào cùng thư mục của tệp Python chính của bạn.

Đã trả lời ngày 23 tháng 1 năm 2016 lúc 19:46

Ayserayser

94511 Huy hiệu bạc15 Huy hiệu Đồng

Bạn có thể sử dụng tập lệnh này:

Làm cách nào để chạy kịch bản Python từ một thư mục khác?

Đã trả lời ngày 16 tháng 4 năm 2017 lúc 15:26.

Bạn sẽ coi một trong các tệp như một mô -đun Python và làm cho tệp khác nhập nó (giống như bạn nhập các mô -đun Python tiêu chuẩn). Sau đó có thể tham khảo các đối tượng (bao gồm các lớp và chức năng) được xác định trong mô -đun đã nhập. Mô -đun cũng có thể chạy bất kỳ mã khởi tạo nào nó cần. Xem http://docs.python.org/tutorial/modules.html

Đã trả lời ngày 2 tháng 11 năm 2011 lúc 1:37

Adam Zalcmanadam Zalcman

26.2k4 Huy hiệu vàng68 Huy hiệu bạc91 Huy hiệu Đồng

Nó có thể được gọi là

#!/usr/bin/python
print("hello")
9 từ tập lệnh chính như dưới đây:

Làm cách nào để sử dụng một hàm từ một tệp khác trong Python?

#!/usr/bin/python
print("hello")
9 có thể là một cái gì đó như thế này:include the import line, from filename import function_name . Note that although the file name must contain a . py extension, . py is not used as part of the filename during import.

Bạn có thể gọi một kịch bản Python từ Java không?

8.0225 Huy hiệu vàng15 Huy hiệu bạc46 Huy hiệu đồng. The CPython class binds the Python interpreter to the JVM and provides the ability to execute Python scripts.