Hướng dẫn python os system multiple commands - hệ điều hành python nhiều lệnh

Tôi muốn gọi nhiều lệnh từ tập lệnh Python của tôi. Tuy nhiên, tôi đã thử sử dụng OS.System (), tôi đang gặp sự cố khi thư mục hiện tại được thay đổi.

example:

os.system("ls -l")
os.system("<some command>") # This will change the present working directory 
os.system("launchMyApp") # Some application invocation I need to do.

Bây giờ, cuộc gọi thứ ba để ra mắt không hoạt động.

Hướng dẫn python os system multiple commands - hệ điều hành python nhiều lệnh

Oguz Ismail

41.8K13 Huy hiệu vàng43 Huy hiệu bạc64 Huy hiệu đồng13 gold badges43 silver badges64 bronze badges

Đã hỏi ngày 18 tháng 11 năm 2013 lúc 7:19Nov 18, 2013 at 7:19

0

os.system là một trình bao bọc cho hàm C tiêu chuẩn system(), và do đó đối số của nó có thể là bất kỳ lệnh shell hợp lệ nào miễn là nó phù hợp với bộ nhớ dành cho môi trường và danh sách đối số của một quy trình.any valid shell command as long as it fits into the memory reserved for environment and argument lists of a process.

Vì vậy, hãy tách các lệnh đó với dấu chấm phẩy hoặc ngắt dòng và chúng sẽ được thực thi tuần tự trong cùng một môi trường.

os.system(" ls -l; <some command>; launchMyApp")
os.system('''
ls -l
<some command>
launchMyApp
''')

Oguz Ismail

41.8K13 Huy hiệu vàng43 Huy hiệu bạc64 Huy hiệu đồng13 gold badges43 silver badges64 bronze badges

Đã hỏi ngày 18 tháng 11 năm 2013 lúc 7:19Jun 29, 2017 at 22:40

os.system là một trình bao bọc cho hàm C tiêu chuẩn system(), và do đó đối số của nó có thể là bất kỳ lệnh shell hợp lệ nào miễn là nó phù hợp với bộ nhớ dành cho môi trường và danh sách đối số của một quy trình.Anynomous

Vì vậy, hãy tách các lệnh đó với dấu chấm phẩy hoặc ngắt dòng và chúng sẽ được thực thi tuần tự trong cùng một môi trường.3 silver badges3 bronze badges

0

Đã trả lời ngày 29 tháng 6 năm 2017 lúc 22:40

import os

os.system("ls -l")
os.chdir('path') # This will change the present working directory
os.system("launchMyApp") # Some application invocation I need to do.

AnynomousanynomousFeb 25, 2019 at 7:11

Hướng dẫn python os system multiple commands - hệ điều hành python nhiều lệnh

3273 Huy hiệu bạc3 Huy hiệu đồngMuthu Kumar

Thử cái này11 silver badges24 bronze badges

Đã trả lời ngày 25 tháng 2 năm 2019 lúc 7:11

os.system(" ls -l; <some command>; launchMyApp")
1 is a very good way to approach the problem, used in the example below:

import os
os.system('''cd /
mkdir somedir'''.replace('\n', ';')) # or use & for Windows

Muthu Kumarmuthu KumarApr 23, 2018 at 20:55

78511 Huy hiệu bạc24 Huy hiệu đồngAnonymous

Nó rất đơn giản, thực sự. Đối với Windows tách các lệnh của bạn với &, cho Linux, hãy tách chúng bằng

os.system(" ls -l; <some command>; launchMyApp")
0.
os.system(" ls -l; <some command>; launchMyApp")
1 là một cách rất tốt để tiếp cận vấn đề, được sử dụng trong ví dụ dưới đây:4 gold badges15 silver badges34 bronze badges

0

Đã trả lời ngày 23 tháng 4 năm 2018 lúc 20:55

Ẩn danh

6994 Huy hiệu vàng15 Huy hiệu bạc34 Huy hiệu đồng

#!/usr/bin/env python
from subprocess import check_call

check_call(r"""set -e
ls -l
<some command> # This will change the present working directory 
launchMyApp""", shell=True)

Mỗi quá trình có thư mục làm việc hiện tại riêng. Thông thường, các quy trình con không thể thay đổi thư mục của cha mẹ, đó là lý do tại sao

os.system(" ls -l; <some command>; launchMyApp")
2 là lệnh shell tích hợp: nó chạy trong cùng một quy trình (shell).

Mỗi cuộc gọi

os.system(" ls -l; <some command>; launchMyApp")
3 tạo ra một quy trình shell mới. Thay đổi thư mục bên trong các quá trình này không có tác dụng đối với quy trình Python cha mẹ và do đó trên các quy trình shell tiếp theo.Feb 17, 2015 at 5:12

Để chạy nhiều lệnh trong cùng một phiên bản shell, bạn có thể sử dụng mô -đun

os.system(" ls -l; <some command>; launchMyApp")
4:jfs

Nếu bạn biết thư mục đích; Thay vào đó, sử dụng tham số

os.system(" ls -l; <some command>; launchMyApp")
5 được đề xuất bởi @puffin GDI.183 gold badges949 silver badges1622 bronze badges

Đã trả lời ngày 17 tháng 2 năm 2015 lúc 5:12

JFSJFSNov 18, 2013 at 7:25

384K183 Huy hiệu vàng949 Huy hiệu bạc1622 Huy hiệu Đồngvolcano

Khi bạn gọi Os.System (), mỗi khi bạn tạo một Subshell - đóng ngay lập tức khi Os.System trả về (quá trình phụ là thư viện được đề xuất để gọi các lệnh HĐH). Nếu bạn cần gọi một bộ lệnh - gọi chúng trong một cuộc gọi. BTW, bạn có thể thay đổi Giám đốc làm việc từ Python - Os.chdir20 silver badges28 bronze badges

1

Đã trả lời ngày 18 tháng 11 năm 2013 lúc 7:25

example:

subprocess.Popen('launchMyApp', cwd=r'/working_directory/')

VolcanovolcanoNov 18, 2013 at 7:28

Hướng dẫn python os system multiple commands - hệ điều hành python nhiều lệnh

3.53820 Huy hiệu bạc28 Huy hiệu đồngPuffin GDI

Cố gắng sử dụng SubProcess.Popen và

os.system(" ls -l; <some command>; launchMyApp")
55 gold badges29 silver badges36 bronze badges

3

Đã trả lời ngày 18 tháng 11 năm 2013 lúc 7:28

os.system(" ls -l; <some command>; launchMyApp")
7

GDI GDIPUFFIN GDI

1.6925 huy hiệu vàng29 Huy hiệu bạc36 Huy hiệu đồngSep 8, 2016 at 18:04

Chỉ dùngCybersupernova

Tôi nghĩ bạn đã có ý tưởng phải làm gì1 gold badge18 silver badges35 bronze badges

0

os.system(" ls -l; <some command>; launchMyApp")
8

Hướng dẫn python os system multiple commands - hệ điều hành python nhiều lệnh

Đã trả lời ngày 8 tháng 9 năm 2016 lúc 18:04

Cybersupernovacybersupernova60 gold badges74 silver badges93 bronze badges

1.7731 Huy hiệu vàng18 Huy hiệu bạc35 Huy hiệu đồngSep 25, 2020 at 13:38

Hướng dẫn python os system multiple commands - hệ điều hành python nhiều lệnh

Tylerh

Hướng dẫn python os system multiple commands - hệ điều hành python nhiều lệnh

Đã trả lời ngày 8 tháng 9 năm 2016 lúc 18:04

Cybersupernovacybersupernova60 gold badges74 silver badges93 bronze badges

1.7731 Huy hiệu vàng18 Huy hiệu bạc35 Huy hiệu đồngNov 18, 2013 at 7:24

TylerhHoly Mackerel

21.3K60 Huy hiệu vàng74 Huy hiệu bạc93 Huy hiệu đồng1 gold badge23 silver badges40 bronze badges

Làm cách nào để chạy nhiều lệnh trong hệ điều hành Python?

Vì vậy, hãy tách các lệnh đó với dấu chấm phẩy hoặc ngắt dòng và chúng sẽ được thực thi tuần tự trong cùng một môi trường.separate those commands with semicolons or line breaks, and they will be executed sequentially in the same environment.

Các lệnh hệ điều hành trong Python là gì?

hệ điều hành.Phương thức System () thực thi lệnh (một chuỗi) trong một vỏ bọc.Phương thức này được thực hiện bằng cách gọi hệ thống hàm C tiêu chuẩn () và có cùng giới hạn.Nếu lệnh tạo ra bất kỳ đầu ra nào, nó được gửi đến luồng đầu ra tiêu chuẩn của trình thông dịch.execute the command (a string) in a subshell. This method is implemented by calling the Standard C function system(), and has the same limitations. If command generates any output, it is sent to the interpreter standard output stream.

Hệ thống hệ điều hành có bị phản đối không?

Chức năng hệ điều hành đã được không dùng nữa.Nói cách khác, chức năng này đã được thay thế.Mô -đun phụ đóng vai trò thay thế cho điều này và Python chính thức khuyến nghị sử dụng quy trình phụ cho các lệnh shell. system function has been deprecated. In other words, this function has been replaced. The subprocess module serves as a replacement to this and Python officially recommends using subprocess for shell commands.

Làm cách nào để gọi một cuộc gọi hệ thống trong Python?

Lệnh hệ thống Python..
HĐH Python.Hàm hệ thống ().Chúng ta có thể thực thi lệnh hệ thống bằng cách sử dụng hàm os.system ().....
Quá trình phụ Python.gọi () hàm.Trong phần trước, chúng tôi đã thấy hệ điều hành đó.....
Quá trình phụ Python.Hàm Check_output ().Cho đến nay, chúng tôi đã thực hiện các lệnh hệ thống với sự trợ giúp của Python ..