Python3 cmd — 命令行处理器
在Python中,你可以使用内置的 subprocess
模块来运行命令行指令,并捕获其输出。以下是一个简单的例子,展示了如何使用 subprocess
模块来执行命令行指令并获取输出:
import subprocess
# 执行命令行指令
def run_command(cmd):
# 使用 subprocess.run 来运行命令,并捕获输出
result = subprocess.run(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
# 返回命令的输出和错误信息
return result.stdout, result.stderr
# 示例使用
if __name__ == "__main__":
command = "echo 'Hello, World!'" # 你可以替换为任何你想执行的命令
output, error = run_command(command)
if error:
print("Error:", error)
else:
print("Output:", output)
在这个例子中,run_command
函数接受一个命令行字符串 cmd
并使用 subprocess.run
来执行它。shell=True
允许我们直接运行一条命令,而不需要将其拆分为单独的程序和参数。stdout=subprocess.PIPE
和 stderr=subprocess.PIPE
表示我们想要捕获程序的标准输出和标准错误。universal_newlines=True
使得我们可以在程序中使用换行符来处理输出。
请注意,使用 shell=True
可能会引入安全风险,特别是当处理来自不可信源的输入时。因此,在生产环境中,应该尽量避免使用 shell=True
,并且直接传递程序和参数给 subprocess.run
或者 subprocess.Popen
。
评论已关闭