Tôi đang làm việc trong Windows 7 với Python Idle. Tôi có hai chương trình,
# progA
while True:
m = input['progA is running ']
print [m]
và
# progB
while True:
m = input['progB is running ']
print [m]
Tôi mở nhàn rỗi và sau đó mở tệp proga.py. Tôi chạy chương trình và khi được nhắc nhập, tôi nhập
# progB
while True:
m = input['progB is running ']
print [m]
5 và sau đó # progB
while True:
m = input['progB is running ']
print [m]
6Tôi đang nhìn vào cửa sổ này:
Python 3.6.3 [v3.6.3:2c5fed8, Oct 3 2017, 17:26:49] [MSC v.1900 32 bit [Intel]] on win32
Type "copyright", "credits" or "license[]" for more information.
>>>
= RESTART: C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\progA.py =
progA is running b
b
progA is running c
c
progA is running
Tiếp theo, tôi quay lại Windows Start và mở một lần nữa, lần này mở tệp progb.py. Tôi chạy chương trình và khi được nhắc nhập, tôi nhập
# progB
while True:
m = input['progB is running ']
print [m]
7 và sau đó # progB
while True:
m = input['progB is running ']
print [m]
8Tôi đang nhìn vào cửa sổ này:
Tiếp theo, tôi quay lại Windows Start và mở một lần nữa, lần này mở tệp progb.py. Tôi chạy chương trình và khi được nhắc nhập, tôi nhập# progB
while True:
m = input['progB is running ']
print [m]
7 và sau đó # progB
while True:
m = input['progB is running ']
print [m]
8
Python 3.6.3 [v3.6.3:2c5fed8, Oct 3 2017, 17:26:49] [MSC v.1900 32 bit [Intel]] on win32
Type "copyright", "credits" or "license[]" for more information.
>>>
= RESTART: C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\progB.py =
progB is running x
x
progB is running y
y
progB is running
Đôi khi bạn có thể cần phải chạy nhiều tệp Python từng cái này từng lần khác. Có nhiều hướng khác nhau để làm điều đó. Trong bài viết này, chúng tôi sẽ tìm hiểu các cách khác nhau để chạy nhiều tệp python có trong thư mục.
Hãy để chúng tôi nói rằng bạn có các tệp Python sau a.py, B.Py và C.Py.
#file a.py print["a"] #file b.py print["b"] #file c.py print["c"]
Bây giờ chúng tôi sẽ xem xét các cách khác nhau để chạy nhiều tệp Python.
1. Sử dụng dấu nhắc thiết bị đầu cuối/lệnh
Cách đơn giản nhất để chạy các tệp này lần lượt là đề cập đến chúng từng cái một, sau lệnh Python.
$ python a.py b.py c.py a b c
2. Sử dụng script shell
Bạn cũng có thể tạo một bài kiểm tra script shell.sh. vì mục đích này.
$ vi test.sh
Thêm các dòng sau vào nó.
file_list=["/home/ubuntu/a.py" "/home/ubuntu/b.py" "/home/ubuntu/c.py"] for py_file in "${file_list[@]}" do python ${py_file} done
Lưu và đóng tập tin. Làm cho nó một thực thi với lệnh sau.
$ chmod +x test.sh
Trong mã trên, chúng tôi duy trì các đường dẫn đầy đủ đến 3 tệp trong một mảng file_list. Sau đó, chúng tôi chạy một vòng lặp để đi qua mảng này và gọi lệnh Python để chạy từng tệp. Chúng tôi sử dụng các đường dẫn đầy đủ để đảm bảo rằng tập lệnh shell chạy từ bất kỳ vị trí nào.
3. Sử dụng nhập khẩu
Trong trường hợp này, bạn chỉ cần nhập mô -đun HĐH vào một tệp Python khác và chạy chúng bằng hàm Os.System.
import os os.system['python /home/ubuntu/a.py'] os.system['python /home/ubuntu/b.py'] os.system['python /home/ubuntu/c.py']
Ngoài ra, bạn cũng có thể nhập 3 tệp vào một tệp Python khác và chạy các chức năng của chúng từ tệp này. Hãy để chúng tôi nói 3 tệp Python của bạn a.py, B.Py và C.Py có các hàm fa [], fb [] và fc [] tương ứng.
# progB
while True:
m = input['progB is running ']
print [m]
0Bạn có thể tạo một tệp Python thứ tư d.py trong cùng một thư mục với 3 tệp Python khác, nhập 3 tệp Python khác và chạy các chức năng của chúng, như được hiển thị bên dưới.
# progB
while True:
m = input['progB is running ']
print [m]
1Trong bài viết này, chúng tôi đã học được cách chạy nhiều tệp Python.
Cũng đọc:
Cách hợp nhất các tệp PDF bằng Pythonhow để thực hiện sao lưu gia tăng trong mysqlhow để chuyển mật khẩu ssh trong shell scriptMysql thay đổi lưu trữ bảng từ innodb sang myisamhow để cài đặt phông chữ trong ubuntu
How to Do
Incremental Backup in MySQL
How to Pass SSH Password in Shell Script
MySQL Change Table Storage from InnoDB to MyISAM
How to Install Fonts in Ubuntu
Bài viết liên quan:
Tôi không chắc nơi để tìm cách tiếp cận phù hợp, vì điều này có thể liên quan đến kịch bản.
Hiện tại tôi đang chạy python_script_1.py trong một cửa sổ một thiết bị đầu cuối [/powerShell], sau đó chuyển sang một cửa sổ khác và chạy python_script_2.py, cả hai đều có các đối số đầu vào. Làm thế nào tôi có thể tự động hóa quá trình này, ghi nhớ rằng các tập lệnh cần chạy đồng thời thay vì script_2 chạy sau khi script_1 kết thúc?
Làm thế nào tôi có thể chạy nhiều tập lệnh python? Hiện tại tôi chạy như vậy
# progB
while True:
m = input['progB is running ']
print [m]
9.Tôi đã thử
Python 3.6.3 [v3.6.3:2c5fed8, Oct 3 2017, 17:26:49] [MSC v.1900 32 bit [Intel]] on win32
Type "copyright", "credits" or "license[]" for more information.
>>>
= RESTART: C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\progA.py =
progA is running b
b
progA is running c
c
progA is running
0 và điều đó không hoạt động: Chỉ có tập lệnh đầu tiên được chạy. Ngoài ra, tôi đã thử sử dụng một tệp như thế này;# progB
while True:
m = input['progB is running ']
print [m]
2Tuy nhiên điều này cũng không hoạt động.
Câu hỏi này được gắn thẻ với
Python 3.6.3 [v3.6.3:2c5fed8, Oct 3 2017, 17:26:49] [MSC v.1900 32 bit [Intel]] on win32
Type "copyright", "credits" or "license[]" for more information.
>>>
= RESTART: C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\progA.py =
progA is running b
b
progA is running c
c
progA is running
1Python 3.6.3 [v3.6.3:2c5fed8, Oct 3 2017, 17:26:49] [MSC v.1900 32 bit [Intel]] on win32
Type "copyright", "credits" or "license[]" for more information.
>>>
= RESTART: C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\progA.py =
progA is running b
b
progA is running c
c
progA is running
2223Python 3.6.3 [v3.6.3:2c5fed8, Oct 3 2017, 17:26:49] [MSC v.1900 32 bit [Intel]] on win32
Type "copyright", "credits" or "license[]" for more information.
>>>
= RESTART: C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\progA.py =
progA is running b
b
progA is running c
c
progA is running
1 Python 3.6.3 [v3.6.3:2c5fed8, Oct 3 2017, 17:26:49] [MSC v.1900 32 bit [Intel]] on win32
Type "copyright", "credits" or "license[]" for more information.
>>>
= RESTART: C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\progA.py =
progA is running b
b
progA is running c
c
progA is running
2 Python 3.6.3 [v3.6.3:2c5fed8, Oct 3 2017, 17:26:49] [MSC v.1900 32 bit [Intel]] on win32
Type "copyright", "credits" or "license[]" for more information.
>>>
= RESTART: C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\progA.py =
progA is running b
b
progA is running c
c
progA is running
3~ Được hỏi vào năm 2015 / 02-16 20:19:09
Với bash:
# progB
while True:
m = input['progB is running ']
print [m]
3Đó là toàn bộ kịch bản. Nó sẽ chạy hai kịch bản Python cùng một lúc.
Python có thể tự làm điều tương tự nhưng sẽ mất nhiều việc gõ hơn và là một lựa chọn tồi cho vấn đề trong tay.
Tôi nghĩ rằng có thể mặc dù bạn đang thực hiện cách tiếp cận sai để giải quyết vấn đề của mình và tôi muốn nghe những gì bạn đang nhận được.
~ Đã trả lời vào năm 2015 / 02-16 20:28:44
Giải pháp đơn giản nhất để chạy hai quy trình Python đồng thời là chạy chúng từ một tệp bash và nói với mỗi quy trình đi vào nền với toán tử shell
Python 3.6.3 [v3.6.3:2c5fed8, Oct 3 2017, 17:26:49] [MSC v.1900 32 bit [Intel]] on win32
Type "copyright", "credits" or "license[]" for more information.
>>>
= RESTART: C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\progA.py =
progA is running b
b
progA is running c
c
progA is running
4.# progB
while True:
m = input['progB is running ']
print [m]
3Để có một cách được kiểm soát hơn để chạy nhiều quy trình song song, hãy nhìn vào dự án giám sát hoặc sử dụng mô -đun đa xử lý để phối hợp từ bên trong Python.
~ Đã trả lời vào năm 2015 / 02-16 20:25:48