[英]Running multiple Python scripts
我想創建一個將同時執行2個獨立腳本的簡單Python程序。 目前,這兩個腳本僅顯示一個數字序列,但我的意圖是將來使用此程序並發運行一些Twitter流程序。
我懷疑我需要使用subprocess.Popen
但是我無法完全理解應該在其中添加哪些參數。 在StackOverflow上也有類似的問題,但是那里提供的代碼(粘貼在下面)無法顯示任何內容。 感謝您的幫助。
我的文件是:
thread1.py
thread2.py
import subprocess
subprocess.Popen(['screen', './thread1.py']))
subprocess.Popen(['screen', './thread2.py'])
正如旅行癖提到的,為什么要以這種方式而不是通過linux命令行呢?
否則,您發布的解決方案將達到其預期的目的,即,您正在命令行中執行此操作:
screen ./thread1.py
screen ./thread2.py
這將打開一個屏幕會話,並在該屏幕會話內運行程序並輸出,這樣您就不會直接在終端上看到輸出。 要解決輸出問題,只需執行腳本而不進行屏幕調用:
import subprocess
subprocess.Popen(['./thread1.py'])
subprocess.Popen(['./thread2.py'])
thread1.py的內容:
#!/usr/bin/env python
def countToTen():
for i in range(10):
print i
countToTen()
thread2.py的內容:
#!/usr/bin/env python
def countToHundreds():
for i in range(10):
print i*100
countToHundreds()
然后,不要忘記在命令行上執行此操作:
chmod u+x thread*.py
supervisord
主管是過程控制系統,僅用於運行多個命令行腳本。
它具有以下特點:
該解決方案僅在基於* nix的系統上有效,在Windows上不可用。
您還可以打開幾個命令提示符窗口來一次運行多個Python程序-只需在每個窗口中運行一個即可:
在每個命令提示符窗口中,轉到正確的目錄(例如C:/ Python27),然后在一個命令提示符窗口中鍵入“ python YourCodeNo 1 .py”,在下一個命令框中鍵入“ python YourCodeNo 2 .py”。 。
我目前正在以這種方式一次運行3個代碼,而不會降低任何代碼的速度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.