Python 'Sarge''s advanced usage and skills
Python's SARGE library is a powerful tool for processing the shell command.It provides a simple and intuitive way to execute and control external processes, making it easier to execute commands and processing commands in Python.
In this article, we will introduce the advanced usage and skills of the SARGE library to help you better understand and use it.
# Install the SARGE library
To start using the SARGE library, you need to install it first.You can use the PIP command to install:
pip install sarge
# Excuting an order
The core function of the SARGE library is to execute the shell command.You can use the `Command` class to execute the command and run the command by calling the` run` method.The following is a simple example:
python
from sarge import Command
# Excuting an order
cmd = Command('ls')
cmd.run()
# 的 Output of the command
output = cmd.stdout.text
print(output)
In the above example, we created a command object `cmd`, and used the` run` method to execute the `ls` command.Then, you can use the `stdout` property to obtain the output of the command. This is the directory list.
#The output of the command command
In addition to the output of the command, the SARGE library also provides other methods to process and control the output.Here are some commonly used methods:
## text output
The output of the command can be processed as a text.You can obtain the output string by accessing the `Stdout.text`.The following is an example:
python
from sarge import Command
# Excuting an order
cmd = Command('echo "Hello, World!"')
cmd.run()
# Get text output
output = cmd.stdout.text.strip()
Print (OUTPUT) # Output: Hello, World!
## line output
You can handle the output of the command, not as a overall string.The following is an example:
python
from sarge import Command
# Excuting an order
cmd = Command('ls')
cmd.run()
# Output
for line in cmd.stdout:
print(line.text.strip())
In the above example, we handle the output of the command by iterative `stdout`, and use the` Strip` method at the end of each line to remove the excess space.
## Termination command
If you need to terminate the execution command in advance, you can use the `Terminate` method.The following is an example:
python
from sarge import Command
# Excuting an order
cmd = Command('ping 127.0.0.1')
cmd.run()
# Termination command in advance
cmd.terminate()
In the above example, we execute an unlimited cycle command `ping`, and use the` Terminate` method to terminate the execution of the command in advance.
# Run the background command
In addition to the front desk command, the Sarge library can also execute the background command.The following is an example:
python
from sarge import Command, Feeder
# 命
cmd = Command('cat', async_=True)
# Create the Feeder object and send the input to the command
feeder = Feeder()
cmd.run(input=feeder)
# Send the input to the command
feeder.feed("Hello, World!")
# 执
cmd.wait()
# 的 Output of the command
output = cmd.stdout.text.strip()
Print (OUTPUT) # Output: Hello, World!
In the above example, we use the parameter of the `Async_ = True` of` Command` to execute the background command.We also created an `Feeder` object to send the input to the command.
# Customized error treatment
By default, the SARGE library will cause abnormalities when they encounter an error.However, you can better control the error processing by custom error processing program.The following is an example:
python
from sarge import Command
# Customized error processing program
def handle_error(exc):
print(f"An error occurred: {exc}")
# Excuting an order
cmd = Command('invalid-command')
cmd.run(on_error=handle_error)
In the above example, we define a custom error processing function `handle_error`, and pass it to the` Run` method through the `On_error` parameter.If there is an error in the execution command, the call processing function is processed.
# in conclusion
Through this article, we introduced some advanced usage and skills of the Python's SARGE library.We have learned how to execute commands, handle the output of the command, run the background command, and customize the error processing.I hope these knowledge can help you better use the SARGE library to handle the shell command in Python.